Main Page
Namespaces
Classes
Package Documentation
DataFormats
MuonReco
interface
MuonSimInfo.h
Go to the documentation of this file.
1
#ifndef MuonReco_MuonSimInfo_h
2
#define MuonReco_MuonSimInfo_h
3
4
#include "
DataFormats/Math/interface/Point3D.h
"
5
#include "
DataFormats/Math/interface/LorentzVector.h
"
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,
33
NotMatched
= 0,
34
MatchedPunchthrough
= 1,
35
MatchedElectron
= 11,
36
MatchedPrimaryMuon
= 4,
37
MatchedMuonFromHeavyFlavour
= 3,
38
MatchedMuonFromLightFlavour
= 2,
39
GhostPunchthrough
= -1,
40
GhostElectron
= -11,
41
GhostPrimaryMuon
= -4,
42
GhostMuonFromHeavyFlavour
= -3,
43
GhostMuonFromLightFlavour
= -2
44
};
45
46
enum
ExtendedMuonSimType
{
47
ExtUnknown
= 999,
48
ExtNotMatched
= 0,
49
ExtMatchedPunchthrough
= 1,
50
ExtMatchedElectron
= 11,
51
MatchedMuonFromGaugeOrHiggsBoson
= 10,
52
MatchedMuonFromTau
= 9,
53
MatchedMuonFromB
= 8,
54
MatchedMuonFromBtoC
= 7,
55
MatchedMuonFromC
= 6,
56
MatchedMuonFromOtherLight
= 5,
57
MatchedMuonFromPiKppMuX
= 4,
58
MatchedMuonFromPiKNotppMuX
= 3,
59
MatchedMuonFromNonPrimaryParticle
= 2,
60
ExtGhostPunchthrough
= -1,
61
ExtGhostElectron
= -11,
62
GhostMuonFromGaugeOrHiggsBoson
= -10,
63
GhostMuonFromTau
= -9,
64
GhostMuonFromB
= -8,
65
GhostMuonFromBtoC
= -7,
66
GhostMuonFromC
= -6,
67
GhostMuonFromOtherLight
= -5,
68
GhostMuonFromPiKppMuX
= -4,
69
GhostMuonFromPiKNotppMuX
= -3,
70
GhostMuonFromNonPrimaryParticle
= -2
71
72
};
73
74
75
class
MuonSimInfo
{
76
public
:
77
MuonSimInfo
();
78
typedef
math::XYZPointD
Point
;
79
typedef
math::XYZTLorentzVectorD
LorentzVector
;
80
MuonSimType
primaryClass
;
81
ExtendedMuonSimType
extendedClass
;
82
int
flavour
;
83
int
pdgId
;
// pdg ID of matching tracking particle
84
int
g4processType
;
// Geant process producing the particle
85
int
motherPdgId
;
86
int
motherFlavour
;
87
int
motherStatus
;
// Status of the first gen particle
88
int
grandMotherPdgId
;
89
int
grandMotherFlavour
;
90
int
heaviestMotherFlavour
;
91
int
tpId
;
92
int
tpEvent
;
93
int
tpBX
;
// bunch crossing
94
int
charge
;
95
LorentzVector
p4
;
96
Point
vertex
;
97
Point
motherVertex
;
98
float
tpAssoQuality
;
99
};
100
}
101
102
103
#endif
reco::MuonSimInfo::grandMotherPdgId
int grandMotherPdgId
Definition:
MuonSimInfo.h:88
reco::MatchedElectron
Definition:
MuonSimInfo.h:35
reco::ExtGhostElectron
Definition:
MuonSimInfo.h:61
reco::MatchedMuonFromPiKppMuX
Definition:
MuonSimInfo.h:57
reco::Unknown
Definition:
MuonSimInfo.h:32
reco::GhostMuonFromNonPrimaryParticle
Definition:
MuonSimInfo.h:70
reco::MuonSimInfo::pdgId
int pdgId
Definition:
MuonSimInfo.h:83
math::XYZTLorentzVectorD
ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double > > XYZTLorentzVectorD
Lorentz vector with cylindrical internal representation using pseudorapidity.
Definition:
LorentzVector.h:14
reco::GhostMuonFromBtoC
Definition:
MuonSimInfo.h:65
reco::MatchedMuonFromOtherLight
Definition:
MuonSimInfo.h:56
reco::MuonSimInfo::motherStatus
int motherStatus
Definition:
MuonSimInfo.h:87
reco::ExtMatchedElectron
Definition:
MuonSimInfo.h:50
reco::GhostMuonFromHeavyFlavour
Definition:
MuonSimInfo.h:42
reco::ExtendedMuonSimType
ExtendedMuonSimType
Definition:
MuonSimInfo.h:46
reco::MuonSimInfo::tpId
int tpId
Definition:
MuonSimInfo.h:91
reco::MatchedMuonFromB
Definition:
MuonSimInfo.h:53
reco::MuonSimInfo::motherFlavour
int motherFlavour
Definition:
MuonSimInfo.h:86
reco::ExtNotMatched
Definition:
MuonSimInfo.h:48
reco::MatchedMuonFromNonPrimaryParticle
Definition:
MuonSimInfo.h:59
reco::MatchedMuonFromLightFlavour
Definition:
MuonSimInfo.h:38
Point3D.h
reco::MuonSimInfo::LorentzVector
math::XYZTLorentzVectorD LorentzVector
Lorentz vector.
Definition:
MuonSimInfo.h:79
reco::MuonSimInfo::vertex
Point vertex
Definition:
MuonSimInfo.h:96
reco::MuonSimType
MuonSimType
Definition:
MuonSimInfo.h:31
reco::ExtGhostPunchthrough
Definition:
MuonSimInfo.h:60
reco::MuonSimInfo::MuonSimInfo
MuonSimInfo()
Definition:
MuonSimInfo.cc:5
reco::MuonSimInfo::tpBX
int tpBX
Definition:
MuonSimInfo.h:93
reco::GhostMuonFromB
Definition:
MuonSimInfo.h:64
reco::MuonSimInfo::charge
int charge
Definition:
MuonSimInfo.h:94
reco::GhostMuonFromLightFlavour
Definition:
MuonSimInfo.h:43
reco::GhostMuonFromTau
Definition:
MuonSimInfo.h:63
reco::GhostMuonFromPiKppMuX
Definition:
MuonSimInfo.h:68
reco::MuonSimInfo::primaryClass
MuonSimType primaryClass
Definition:
MuonSimInfo.h:80
reco::MuonSimInfo
Definition:
MuonSimInfo.h:75
reco::MuonSimInfo::tpEvent
int tpEvent
Definition:
MuonSimInfo.h:92
reco::MuonSimInfo::motherVertex
Point motherVertex
Definition:
MuonSimInfo.h:97
LorentzVector.h
reco::MuonSimInfo::extendedClass
ExtendedMuonSimType extendedClass
Definition:
MuonSimInfo.h:81
reco::MatchedMuonFromTau
Definition:
MuonSimInfo.h:52
reco::MuonSimInfo::Point
math::XYZPointD Point
point in the space
Definition:
MuonSimInfo.h:78
reco::MuonSimInfo::grandMotherFlavour
int grandMotherFlavour
Definition:
MuonSimInfo.h:89
reco::MuonSimInfo::flavour
int flavour
Definition:
MuonSimInfo.h:82
reco::NotMatched
Definition:
MuonSimInfo.h:33
math::XYZPointD
ROOT::Math::PositionVector3D< ROOT::Math::Cartesian3D< double > > XYZPointD
point in space with cartesian internal representation
Definition:
Point3D.h:8
reco::MuonSimInfo::p4
LorentzVector p4
Definition:
MuonSimInfo.h:95
reco::MatchedMuonFromPiKNotppMuX
Definition:
MuonSimInfo.h:58
reco::MatchedMuonFromGaugeOrHiggsBoson
Definition:
MuonSimInfo.h:51
reco::GhostMuonFromGaugeOrHiggsBoson
Definition:
MuonSimInfo.h:62
reco::MatchedPrimaryMuon
Definition:
MuonSimInfo.h:36
reco::GhostMuonFromOtherLight
Definition:
MuonSimInfo.h:67
reco::MuonSimInfo::motherPdgId
int motherPdgId
Definition:
MuonSimInfo.h:85
reco::MuonSimInfo::tpAssoQuality
float tpAssoQuality
Definition:
MuonSimInfo.h:98
reco::ExtMatchedPunchthrough
Definition:
MuonSimInfo.h:49
reco::MatchedMuonFromC
Definition:
MuonSimInfo.h:55
reco::GhostMuonFromC
Definition:
MuonSimInfo.h:66
reco
fixed size matrix
Definition:
AlignmentAlgorithmBase.h:44
reco::GhostMuonFromPiKNotppMuX
Definition:
MuonSimInfo.h:69
reco::GhostPrimaryMuon
Definition:
MuonSimInfo.h:41
reco::MatchedMuonFromBtoC
Definition:
MuonSimInfo.h:54
reco::ExtUnknown
Definition:
MuonSimInfo.h:47
reco::GhostElectron
Definition:
MuonSimInfo.h:40
reco::MatchedMuonFromHeavyFlavour
Definition:
MuonSimInfo.h:37
reco::MuonSimInfo::g4processType
int g4processType
Definition:
MuonSimInfo.h:84
reco::MatchedPunchthrough
Definition:
MuonSimInfo.h:34
reco::MuonSimInfo::heaviestMotherFlavour
int heaviestMotherFlavour
Definition:
MuonSimInfo.h:90
reco::GhostPunchthrough
Definition:
MuonSimInfo.h:39
Generated for CMSSW Reference Manual by
1.8.11