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 
75  class MuonSimInfo {
76  public:
77  MuonSimInfo();
82  int flavour;
83  int pdgId; // pdg ID of matching tracking particle
84  int g4processType; // Geant process producing the particle
87  int motherStatus; // Status of the first gen particle
91  int tpId;
92  int tpEvent;
93  int tpBX; // bunch crossing
94  int charge;
95  LorentzVector p4;
96  Point vertex;
97  Point motherVertex;
99  };
100 }
101 
102 
103 #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:79
MuonSimType
Definition: MuonSimInfo.h:31
MuonSimType primaryClass
Definition: MuonSimInfo.h:80
ExtendedMuonSimType extendedClass
Definition: MuonSimInfo.h:81
math::XYZPointD Point
point in the space
Definition: MuonSimInfo.h:78
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double > > XYZPointD
point in space with cartesian internal representation
Definition: Point3D.h:8
LorentzVector p4
Definition: MuonSimInfo.h:95
fixed size matrix