CMS 3D CMS Logo

EgHLTOffEgSel.h
Go to the documentation of this file.
1 #ifndef DQMOFFLINE_TRIGGER_EGHLTOFFEGSEL
2 #define DQMOFFLINE_TRIGGER_EGHLTOFFEGSEL
3 
4 //this class works out which cuts the electron/photon passes/fails
5 //why am I rolling my own, simply put there is no electron/photon cut class that I know off
6 //which will allow isolation and id variables to be cut on at the same time and return
7 //a int with the bits corresponding to cut pass/fail
8 //also I'm going to need to modify this to keep up with trigger cuts
11 
13 
14 #include <iostream>
15 
16 namespace edm{
17  class ParameterSet;
18 }
19 
20 namespace egHLT {
21  class OffEle;
22  class OffPho;
23 
24  class OffEgSel {
25 
26  private:
27 
30 
31  public:
32  OffEgSel()= default;//default, it doesnt to anything
33  explicit OffEgSel(const edm::ParameterSet& config){setup(config);}
34  ~OffEgSel()= default; //we own nothing so default destructor, copy and assignment okay
35 
36 
37  bool passCuts(const OffEle& ele,int cutMask=~0x0)const{return getCutCode(ele,cutMask)==0x0;}
38  int getCutCode(const OffEle& ele,int cutMask=~0x0)const;
39  static int getCutCode(const OffEle& ele,const EgCutValues& cuts,int cutMask=~0x0);
40 
41  bool passCuts(const OffPho& pho,int cutMask=~0x0)const{return getCutCode(pho,cutMask)==0x0;}
42  int getCutCode(const OffPho& pho,int cutMask=~0x0)const;
43  static int getCutCode(const OffPho& pho,const EgCutValues& cuts,int cutMask=~0x0);
44 
45  void setEBCuts(const EgCutValues& cuts){ebCutValues_=cuts;}
46  void setEECuts(const EgCutValues& cuts){eeCutValues_=cuts;}
47 
48  const EgCutValues& ebCuts()const{return ebCutValues_;}
49  const EgCutValues& eeCuts()const{return eeCutValues_;}
50 
51  void setup(const edm::ParameterSet&);
52 
53 
54  };
55 }
56 
57 #endif
bool passCuts(const OffEle &ele, int cutMask=~0x0) const
Definition: EgHLTOffEgSel.h:37
const EgCutValues & ebCuts() const
Definition: EgHLTOffEgSel.h:48
const EgCutValues & eeCuts() const
Definition: EgHLTOffEgSel.h:49
bool passCuts(const OffPho &pho, int cutMask=~0x0) const
Definition: EgHLTOffEgSel.h:41
EgCutValues eeCutValues_
Definition: EgHLTOffEgSel.h:29
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:2
Definition: config.py:1
void setEECuts(const EgCutValues &cuts)
Definition: EgHLTOffEgSel.h:46
void setEBCuts(const EgCutValues &cuts)
Definition: EgHLTOffEgSel.h:45
OffEgSel(const edm::ParameterSet &config)
Definition: EgHLTOffEgSel.h:33
HLT enums.
EgCutValues ebCutValues_
Definition: EgHLTOffEgSel.h:28