File indexing completed on 2024-04-06 12:04:20
0001 #ifndef HepMCCandidate_GenStatusFlags_h
0002 #define HepMCCandidate_GenStatusFlags_h
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include <bitset>
0012
0013 namespace reco {
0014
0015 struct GenStatusFlags {
0016 enum StatusBits {
0017 kIsPrompt = 0,
0018 kIsDecayedLeptonHadron,
0019 kIsTauDecayProduct,
0020 kIsPromptTauDecayProduct,
0021 kIsDirectTauDecayProduct,
0022 kIsDirectPromptTauDecayProduct,
0023 kIsDirectHadronDecayProduct,
0024 kIsHardProcess,
0025 kFromHardProcess,
0026 kIsHardProcessTauDecayProduct,
0027 kIsDirectHardProcessTauDecayProduct,
0028 kFromHardProcessBeforeFSR,
0029 kIsFirstCopy,
0030 kIsLastCopy,
0031 kIsLastCopyBeforeFSR
0032 };
0033
0034
0035
0036
0037
0038
0039 bool isPrompt() const { return flags_[kIsPrompt]; }
0040 void setIsPrompt(bool b) { flags_[kIsPrompt] = b; }
0041
0042
0043
0044
0045
0046 bool isDecayedLeptonHadron() const { return flags_[kIsDecayedLeptonHadron]; }
0047 void setIsDecayedLeptonHadron(bool b) { flags_[kIsDecayedLeptonHadron] = b; }
0048
0049
0050 bool isTauDecayProduct() const { return flags_[kIsTauDecayProduct]; }
0051 void setIsTauDecayProduct(bool b) { flags_[kIsTauDecayProduct] = b; }
0052
0053
0054 bool isPromptTauDecayProduct() const { return flags_[kIsPromptTauDecayProduct]; }
0055 void setIsPromptTauDecayProduct(bool b) { flags_[kIsPromptTauDecayProduct] = b; }
0056
0057
0058 bool isDirectTauDecayProduct() const { return flags_[kIsDirectTauDecayProduct]; }
0059 void setIsDirectTauDecayProduct(bool b) { flags_[kIsDirectTauDecayProduct] = b; }
0060
0061
0062 bool isDirectPromptTauDecayProduct() const { return flags_[kIsDirectPromptTauDecayProduct]; }
0063 void setIsDirectPromptTauDecayProduct(bool b) { flags_[kIsDirectPromptTauDecayProduct] = b; }
0064
0065
0066 bool isDirectHadronDecayProduct() const { return flags_[kIsDirectHadronDecayProduct]; }
0067 void setIsDirectHadronDecayProduct(bool b) { flags_[kIsDirectHadronDecayProduct] = b; }
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077 bool isHardProcess() const { return flags_[kIsHardProcess]; }
0078 void setIsHardProcess(bool b) { flags_[kIsHardProcess] = b; }
0079
0080
0081 bool fromHardProcess() const { return flags_[kFromHardProcess]; }
0082 void setFromHardProcess(bool b) { flags_[kFromHardProcess] = b; }
0083
0084
0085
0086 bool isHardProcessTauDecayProduct() const { return flags_[kIsHardProcessTauDecayProduct]; }
0087 void setIsHardProcessTauDecayProduct(bool b) { flags_[kIsHardProcessTauDecayProduct] = b; }
0088
0089
0090
0091 bool isDirectHardProcessTauDecayProduct() const { return flags_[kIsDirectHardProcessTauDecayProduct]; }
0092 void setIsDirectHardProcessTauDecayProduct(bool b) { flags_[kIsDirectHardProcessTauDecayProduct] = b; }
0093
0094
0095
0096
0097 bool fromHardProcessBeforeFSR() const { return flags_[kFromHardProcessBeforeFSR]; }
0098 void setFromHardProcessBeforeFSR(bool b) { flags_[kFromHardProcessBeforeFSR] = b; }
0099
0100
0101 bool isFirstCopy() const { return flags_[kIsFirstCopy]; }
0102 void setIsFirstCopy(bool b) { flags_[kIsFirstCopy] = b; }
0103
0104
0105
0106 bool isLastCopy() const { return flags_[kIsLastCopy]; }
0107 void setIsLastCopy(bool b) { flags_[kIsLastCopy] = b; }
0108
0109
0110
0111
0112 bool isLastCopyBeforeFSR() const { return flags_[kIsLastCopyBeforeFSR]; }
0113 void setIsLastCopyBeforeFSR(bool b) { flags_[kIsLastCopyBeforeFSR] = b; }
0114
0115 std::bitset<15> flags_;
0116 };
0117
0118 }
0119
0120 #endif