File indexing completed on 2024-04-06 12:04:47
0001 #ifndef MuonReco_MuonSimInfo_h
0002 #define MuonReco_MuonSimInfo_h
0003
0004 #include "DataFormats/Math/interface/Point3D.h"
0005 #include "DataFormats/Math/interface/LorentzVector.h"
0006
0007 namespace reco {
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 enum MuonSimType {
0032 Unknown = 999,
0033 NotMatched = 0,
0034 MatchedPunchthrough = 1,
0035 MatchedElectron = 11,
0036 MatchedPrimaryMuon = 4,
0037 MatchedMuonFromHeavyFlavour = 3,
0038 MatchedMuonFromLightFlavour = 2,
0039 GhostPunchthrough = -1,
0040 GhostElectron = -11,
0041 GhostPrimaryMuon = -4,
0042 GhostMuonFromHeavyFlavour = -3,
0043 GhostMuonFromLightFlavour = -2
0044 };
0045
0046 enum ExtendedMuonSimType {
0047 ExtUnknown = 999,
0048 ExtNotMatched = 0,
0049 ExtMatchedPunchthrough = 1,
0050 ExtMatchedElectron = 11,
0051 MatchedMuonFromGaugeOrHiggsBoson = 10,
0052 MatchedMuonFromTau = 9,
0053 MatchedMuonFromB = 8,
0054 MatchedMuonFromBtoC = 7,
0055 MatchedMuonFromC = 6,
0056 MatchedMuonFromOtherLight = 5,
0057 MatchedMuonFromPiKppMuX = 4,
0058 MatchedMuonFromPiKNotppMuX = 3,
0059 MatchedMuonFromNonPrimaryParticle = 2,
0060 ExtGhostPunchthrough = -1,
0061 ExtGhostElectron = -11,
0062 GhostMuonFromGaugeOrHiggsBoson = -10,
0063 GhostMuonFromTau = -9,
0064 GhostMuonFromB = -8,
0065 GhostMuonFromBtoC = -7,
0066 GhostMuonFromC = -6,
0067 GhostMuonFromOtherLight = -5,
0068 GhostMuonFromPiKppMuX = -4,
0069 GhostMuonFromPiKNotppMuX = -3,
0070 GhostMuonFromNonPrimaryParticle = -2
0071
0072 };
0073
0074 class MuonSimInfo {
0075 public:
0076 MuonSimInfo();
0077 typedef math::XYZPointD Point;
0078 typedef math::XYZTLorentzVectorD LorentzVector;
0079 MuonSimType primaryClass;
0080 ExtendedMuonSimType extendedClass;
0081 int flavour;
0082 int pdgId;
0083 int g4processType;
0084 int motherPdgId;
0085 int motherFlavour;
0086 int motherStatus;
0087 int grandMotherPdgId;
0088 int grandMotherFlavour;
0089 int heaviestMotherFlavour;
0090 int tpId;
0091 int tpEvent;
0092 int tpBX;
0093 int charge;
0094 LorentzVector p4;
0095 Point vertex;
0096 Point motherVertex;
0097 float tpAssoQuality;
0098 };
0099 }
0100
0101 #endif