CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Typedefs | Functions
MtdSimLayerClusterFwd.h File Reference
#include "DataFormats/Common/interface/Ref.h"
#include "DataFormats/Common/interface/RefProd.h"
#include "DataFormats/Common/interface/RefVector.h"
#include <vector>
#include "SimDataFormats/CaloAnalysis/interface/MtdSimLayerCluster.h"

Go to the source code of this file.

Typedefs

typedef std::vector< MtdSimLayerClusterMtdSimLayerClusterCollection
 
typedef edm::RefVector< MtdSimLayerClusterCollectionMtdSimLayerClusterContainer
 
typedef edm::Ref< MtdSimLayerClusterCollectionMtdSimLayerClusterRef
 
typedef edm::RefProd< MtdSimLayerClusterCollectionMtdSimLayerClusterRefProd
 
typedef edm::RefVector< MtdSimLayerClusterCollectionMtdSimLayerClusterRefVector
 

Functions

std::ostream & operator<< (std::ostream &s, MtdSimLayerCluster const &tp)
 

Typedef Documentation

◆ MtdSimLayerClusterCollection

Definition at line 10 of file MtdSimLayerClusterFwd.h.

◆ MtdSimLayerClusterContainer

Definition at line 14 of file MtdSimLayerClusterFwd.h.

◆ MtdSimLayerClusterRef

Definition at line 11 of file MtdSimLayerClusterFwd.h.

◆ MtdSimLayerClusterRefProd

Definition at line 13 of file MtdSimLayerClusterFwd.h.

◆ MtdSimLayerClusterRefVector

Definition at line 12 of file MtdSimLayerClusterFwd.h.

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  s,
MtdSimLayerCluster const &  tp 
)

Definition at line 27 of file MtdSimLayerCluster.cc.

References alignCSCRings::s, and cmsswSequenceInfo::tp.

27  {
28  s << "CP momentum, q, ID, & Event #: " << tp.p4() << " " << tp.charge() << " " << tp.pdgId() << " "
29  << tp.eventId().bunchCrossing() << "." << tp.eventId().event() << std::endl;
30  s << " Offset " << tp.trackIdOffset() << " "
31  << " LC time " << tp.simLCTime() << " LC energy " << tp.simLCEnergy() << std::endl;
32 
33  for (MtdSimLayerCluster::genp_iterator hepT = tp.genParticle_begin(); hepT != tp.genParticle_end(); ++hepT) {
34  s << " HepMC Track Momentum " << (*hepT)->momentum().rho() << std::endl;
35  }
36 
37  for (MtdSimLayerCluster::g4t_iterator g4T = tp.g4Track_begin(); g4T != tp.g4Track_end(); ++g4T) {
38  s << " Geant Track Momentum " << g4T->momentum() << std::endl;
39  s << " Geant Track ID & type " << g4T->trackId() << " " << g4T->type() << std::endl;
40  if (g4T->type() != tp.pdgId()) {
41  s << " Mismatch b/t MtdSimLayerCluster and Geant types" << std::endl;
42  }
43  }
44  s << " # of cells = " << tp.mtdHits_.size()
45  << ", effective cells = " << std::accumulate(tp.fractions_.begin(), tp.fractions_.end(), 0.f) << std::endl;
46  return s;
47 }
std::vector< SimTrack >::const_iterator g4t_iterator
Definition: SimCluster.h:45