CMS 3D CMS Logo

MuonSimInfo.h
Go to the documentation of this file.
1 #ifndef MuonReco_MuonSimInfo_h
2 #define MuonReco_MuonSimInfo_h
3 
6 
7 namespace reco {
8  /*
9 
10 
11  CLASSIFICATION: For each RECO Muon, match to SIM particle, and then:
12  - If the SIM is not a Muon, label as Punchthrough (1) except if it is an electron or positron (11)
13  - If the SIM is a Muon, then look at it's provenance.
14  A) the SIM muon is also a GEN muon, whose parent is NOT A HADRON AND NOT A TAU
15  -> classify as "primary" (4).
16  B) the SIM muon is also a GEN muon, whose parent is HEAVY FLAVOURED HADRON OR A TAU
17  -> classify as "heavy flavour" (3)
18  C) classify as "light flavour/decay" (2)
19 
20  In any case, if the TP is not preferentially matched back to the same RECO muon,
21  label as Ghost (flip the classification)
22 
23 
24  FLAVOUR:
25  - for non-muons: 0
26  - for primary muons: 13
27  - for non primary muons: flavour of the mother: std::abs(pdgId) of heaviest quark, or 15 for tau
28 
29 */
30 
31  enum MuonSimType {
32  Unknown = 999,
44  };
45 
47  ExtUnknown = 999,
71 
72  };
73 
74  class MuonSimInfo {
75  public:
76  MuonSimInfo();
81  int flavour;
82  int pdgId; // pdg ID of matching tracking particle
83  int g4processType; // Geant process producing the particle
86  int motherStatus; // Status of the first gen particle
90  int tpId;
91  int tpEvent;
92  int tpBX; // bunch crossing
93  int charge;
98  };
99 } // namespace reco
100 
101 #endif
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition: LorentzVector.h:14
ExtendedMuonSimType
Definition: MuonSimInfo.h:46
math::XYZTLorentzVectorD LorentzVector
Lorentz vector.
Definition: MuonSimInfo.h:78
MuonSimType
Definition: MuonSimInfo.h:31
MuonSimType primaryClass
Definition: MuonSimInfo.h:79
ExtendedMuonSimType extendedClass
Definition: MuonSimInfo.h:80
math::XYZPointD Point
point in the space
Definition: MuonSimInfo.h:77
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double > > XYZPointD
point in space with cartesian internal representation
Definition: Point3D.h:8
LorentzVector p4
Definition: MuonSimInfo.h:94
fixed size matrix
Structure Point Contains parameters of Gaussian fits to DMRs.