ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/NonMCBackground/interface/ElectronFakeRateMod.h
Revision: 1.1
Committed: Wed Jul 4 18:27:27 2012 UTC (12 years, 10 months ago) by anlevin
Content type: text/plain
Branch: MAIN
CVS Tags: compiled, HEAD
Log Message:
update with

File Contents

# User Rev Content
1 anlevin 1.1 #ifndef ELECTRONFAKERATEMOD_H
2     #define ELECTRONFAKERATEMOD_H
3    
4     #include <TTree.h>
5     #include <TFile.h>
6     #include <TLorentzVector.h>
7     #include <TBenchmark.h>
8     #include <TGraphAsymmErrors.h>
9    
10    
11     #include "MitAna/TreeMod/interface/BaseMod.h"
12     #include "MitAna/TreeMod/interface/Analysis.h"
13     #include "MitAna/DataTree/interface/TriggerMask.h"
14     #include "MitAna/DataTree/interface/TriggerTable.h"
15     #include "MitAna/DataTree/interface/TriggerObjectsTable.h"
16     #include "MitAna/DataTree/interface/Names.h"
17     #include "MitAna/Catalog/interface/Catalog.h"
18     #include "MitAna/DataUtil/interface/Debug.h"
19     #include "MitAna/DataTree/interface/MuonCol.h"
20     #include "MitAna/DataTree/interface/PFMetCol.h"
21     #include "MitAna/DataTree/interface/PFCandidateCol.h"
22     #include "MitAna/DataTree/interface/PileupInfoCol.h"
23     #include "MitAna/DataTree/interface/VertexCol.h"
24    
25     #include "MitHzz4l/LeptonSelection/interface/VBTFElectronSelection.h"
26     #include "MitHzz4l/LeptonSelection/interface/ElectronSelection.h"
27     #include "MitHzz4l/LeptonSelection/interface/MuonSelection.h"
28     #include "MitHzz4l/LeptonSelection/interface/IsolationSelection.h"
29    
30     #include "MitAna/DataCont/interface/RunLumiRangeMap.h"
31    
32     #include "MitHzz4l/Util/interface/TriggerUtilsBits.h"
33    
34     #include "MitCommon/DataFormats/interface/TH2DAsymErr.h"
35    
36     #include "MitHzz4l/Util/interface/TriggerUtils.h"
37    
38     namespace mithep
39     {
40     class ElectronFakeRateMod : public BaseMod
41     {
42     public:
43     ElectronFakeRateMod(const char *name="ElectronFakeRateMod", const char *title="BAMBU to measure fake rates") {};
44     ~ElectronFakeRateMod() {};
45    
46     TString fMuonName;
47     const mithep::MuonCol *fMuons;
48    
49     TString fElectronName;
50     const mithep::ElectronCol *fElectrons;
51    
52     TString fPrimVtxName;
53     const mithep::Array<mithep::Vertex> *fPrimVerts;
54    
55     TString fPFCandidateName;
56     const mithep::Array<mithep::PFCandidate> *fPFCandidates;
57    
58     TString fPUEnergyDensityName;
59     const mithep::Array<mithep::PileupEnergyDensity> * fPileupEnergyDensity;
60    
61     TString fTrigMaskName;
62     const mithep::TriggerMask *fTrigMask;
63    
64     TString fPileupName;
65     const PileupInfoCol *fPileup;
66    
67     std::bitset<1024> fTriggerBits;
68    
69     TFile *fOutputFile;
70     TString fOutputName;
71    
72     vector<TTree*> fOutputTrees;
73    
74     const DecayParticleCol *fConversions;
75    
76     const PFMetCol *fPFMet;
77    
78     UInt_t evt_num,lumi_sec,run_num;
79     UInt_t nvertices;
80     vector<Float_t> fake_electron_pt;
81     vector<Float_t> fake_electron_eta;
82     vector<Float_t> fake_electron_phi;
83     vector<UInt_t> fake_electron_pass;
84    
85     enum {e_dielectron_data, e_dimuon_data} die_or_dimu;
86    
87     Double_t massLo;
88     Double_t massHi;
89    
90     mithep::RunLumiRangeMap rlrm;
91    
92     Bool_t useJSON;
93     Bool_t useTrigger;
94     Bool_t store_npu;
95    
96     std::bitset<1024> GetHLTMatchBits(const Double_t pt, const Double_t eta, const Double_t phi);
97    
98     vector<Int_t> denominatorType;
99    
100     protected:
101     void Begin() {};
102     void BeginRun() {};
103     void EndRun() {};
104     void SlaveBegin();
105     void SlaveTerminate();
106     void Terminate() {};
107     void Process();
108    
109    
110     ClassDef(ElectronFakeRateMod,1);
111     };
112     }
113    
114     #endif