CMS 3D CMS Logo

EgHLTEgCutCodes.h
Go to the documentation of this file.
1 #ifndef DQMOFFLINE_TRIGGER_EGHLTEGCUTCODES
2 #define DQMOFFLINE_TRIGGER_EGHLTEGCUTCODES
3 
5 
6 #include <cstring>
7 
8 #include <string>
9 #include <iostream>
10 
11 namespace egHLT {
12  class EgCutCodes { //class to handle the cutcodes used in electron cutting
13 
14  public:
15  enum CutCode {
16  //kinematic and fiducial cuts
17  ET = 0x00000001,
18  PT = 0x00000002,
19  DETETA = 0x00000004,
20  CRACK = 0x00000008,
21  //track cuts
22  DETAIN = 0x00000010,
23  DPHIIN = 0x00000020,
24  INVEINVP = 0x00000040,
25 
26  //supercluster cuts
27  SIGMAETAETA = 0x00000080,
28  HADEM = 0x00000100,
29  SIGMAIETAIETA = 0x00000200,
30  E2X5OVER5X5 = 0x00000400,
31  //---Morse------
32  //R9 =0x00000800,
33  MINR9 = 0x00000800,
34  MAXR9 = 0x00100000,
35  //--------------
36  //std isolation cuts
37  ISOLEM = 0x00001000,
38  ISOLHAD = 0x00002000,
39  ISOLPTTRKS = 0x00004000,
40  ISOLNRTRKS = 0x00008000,
41  //hlt isolation cuts
42  HLTISOLTRKSELE = 0x00010000,
43  HLTISOLTRKSPHO = 0x00020000,
44  HLTISOLHAD = 0x00040000,
45  HLTISOLEM = 0x00080000,
46  //track quaility cuts (hlt track algo isnt very forgiving)
47  CTFTRACK = 0x01000000,
48  //hlt quantities that are slightly different to reco
49  HLTDETAIN = 0x02000000,
50  HLTDPHIIN = 0x04000000,
51  HLTINVEINVP = 0x08000000,
52  //flag that if its set, shows the code is invalid
53  INVALID = 0x80000000
54 
55  };
56 
57  private:
58  static const ComCodes codes_;
59 
60  private:
61  EgCutCodes() = default; //not going to allow instainitiation
62  ~EgCutCodes() = default;
63 
64  public:
65  static int getCode(const std::string& descript) { return codes_.getCode(descript.c_str()); }
66  static void getCodeName(int code, std::string& id) { return codes_.getCodeName(code, id); }
67 
68  private:
69  static ComCodes setCodes_();
70  };
71 } // namespace egHLT
72 #endif
egHLT::EgCutCodes::HLTDETAIN
Definition: EgHLTEgCutCodes.h:49
egHLT::EgCutCodes::SIGMAIETAIETA
Definition: EgHLTEgCutCodes.h:29
egHLT::ComCodes::getCodeName
void getCodeName(int code, std::string &id) const
Definition: EgHLTComCodes.cc:48
egHLT::EgCutCodes::getCodeName
static void getCodeName(int code, std::string &id)
Definition: EgHLTEgCutCodes.h:66
egHLT::EgCutCodes
Definition: EgHLTEgCutCodes.h:12
egHLT::EgCutCodes::PT
Definition: EgHLTEgCutCodes.h:18
egHLT::EgCutCodes::codes_
static const ComCodes codes_
Definition: EgHLTEgCutCodes.h:58
egHLT::EgCutCodes::HLTISOLTRKSPHO
Definition: EgHLTEgCutCodes.h:43
egHLT::EgCutCodes::ISOLNRTRKS
Definition: EgHLTEgCutCodes.h:40
EgHLTComCodes.h
egHLT::EgCutCodes::HLTISOLHAD
Definition: EgHLTEgCutCodes.h:44
egHLT::EgCutCodes::ET
Definition: EgHLTEgCutCodes.h:17
egHLT::EgCutCodes::CTFTRACK
Definition: EgHLTEgCutCodes.h:47
egHLT::EgCutCodes::MAXR9
Definition: EgHLTEgCutCodes.h:34
egHLT::EgCutCodes::MINR9
Definition: EgHLTEgCutCodes.h:33
egHLT::EgCutCodes::DPHIIN
Definition: EgHLTEgCutCodes.h:23
egHLT::EgCutCodes::HLTDPHIIN
Definition: EgHLTEgCutCodes.h:50
egHLT::EgCutCodes::CRACK
Definition: EgHLTEgCutCodes.h:20
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
egHLT::EgCutCodes::E2X5OVER5X5
Definition: EgHLTEgCutCodes.h:30
egHLT::EgCutCodes::ISOLHAD
Definition: EgHLTEgCutCodes.h:38
egHLT::EgCutCodes::SIGMAETAETA
Definition: EgHLTEgCutCodes.h:27
egHLT::EgCutCodes::DETAIN
Definition: EgHLTEgCutCodes.h:22
egHLT::EgCutCodes::~EgCutCodes
~EgCutCodes()=default
egHLT::ComCodes::getCode
int getCode(const char *descript) const
Definition: EgHLTComCodes.cc:19
egHLT::EgCutCodes::INVEINVP
Definition: EgHLTEgCutCodes.h:24
egHLT::EgCutCodes::getCode
static int getCode(const std::string &descript)
Definition: EgHLTEgCutCodes.h:65
egHLT::EgCutCodes::CutCode
CutCode
Definition: EgHLTEgCutCodes.h:15
egHLT::EgCutCodes::EgCutCodes
EgCutCodes()=default
egHLT::EgCutCodes::HADEM
Definition: EgHLTEgCutCodes.h:28
egHLT::EgCutCodes::DETETA
Definition: EgHLTEgCutCodes.h:19
egHLT::EgCutCodes::ISOLEM
Definition: EgHLTEgCutCodes.h:37
egHLT::EgCutCodes::HLTISOLEM
Definition: EgHLTEgCutCodes.h:45
egHLT::EgCutCodes::ISOLPTTRKS
Definition: EgHLTEgCutCodes.h:39
egHLT::EgCutCodes::HLTINVEINVP
Definition: EgHLTEgCutCodes.h:51
egHLT
Definition: EgHLTBinData.h:10
egHLT::EgCutCodes::setCodes_
static ComCodes setCodes_()
Definition: EgHLTEgCutCodes.cc:8
egHLT::ComCodes
Definition: EgHLTComCodes.h:12
egHLT::EgCutCodes::INVALID
Definition: EgHLTEgCutCodes.h:53
egHLT::EgCutCodes::HLTISOLTRKSELE
Definition: EgHLTEgCutCodes.h:42