ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/NonMCBackground/interface/MuonFakeRateMod.h
Revision: 1.2
Committed: Wed Jul 18 12:35:21 2012 UTC (12 years, 10 months ago) by anlevin
Content type: text/plain
Branch: MAIN
CVS Tags: compiled, HEAD
Changes since 1.1: +0 -3 lines
Log Message:
added electron energy stuff and miscellaneous other stuff

File Contents

# User Rev Content
1 anlevin 1.1 #ifndef MUONFAKERATEMOD_H
2     #define MUONFAKERATEMOD_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/MuonSelection.h"
27     #include "MitHzz4l/LeptonSelection/interface/ElectronSelection.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 MuonFakeRateMod : public BaseMod
41     {
42     public:
43     MuonFakeRateMod(const char *name="MuonFakeRateMod", const char *title="BAMBU to do tag and probe") {};
44     ~MuonFakeRateMod() {};
45    
46     Double_t nProbes;
47    
48     TString fMuonName;
49     const mithep::MuonCol *fMuons;
50    
51     TString fElectronName;
52     const mithep::ElectronCol *fElectrons;
53    
54     TString fPrimVtxName;
55     const mithep::Array<mithep::Vertex> *fPrimVerts;
56    
57     TString fPFCandidateName;
58     const mithep::Array<mithep::PFCandidate> *fPFCandidates;
59    
60     TString fPUEnergyDensityName;
61     const mithep::Array<mithep::PileupEnergyDensity> * fPileupEnergyDensity;
62    
63     TString fTrigMaskName;
64     const mithep::TriggerMask *fTrigMask;
65    
66     TString fPileupName;
67     const PileupInfoCol *fPileup;
68    
69     const DecayParticleCol *fConversions;
70    
71     const PFMetCol *fPFMet;
72    
73    
74     UInt_t evt_num,lumi_sec,run_num;
75     UInt_t nvertices;
76     vector<Float_t> fake_muon_pt;
77     vector<Float_t> fake_muon_eta;
78     vector<Float_t> fake_muon_phi;
79     vector<UInt_t> fake_muon_pass;
80    
81     std::bitset<1024> fTriggerBits;
82    
83     TFile *fOutputFile;
84     TString fOutputName;
85    
86     vector<TTree*> fOutputTrees;
87    
88    
89     enum {e_dielectron_data, e_dimuon_data} die_or_dimu;
90    
91     Double_t massLo;
92     Double_t massHi;
93    
94     mithep::RunLumiRangeMap rlrm;
95    
96     Bool_t useJSON;
97     Bool_t useTrigger;
98     Bool_t store_npu;
99    
100     vector<Int_t> denominatorType;
101    
102     std::bitset<1024> GetHLTMatchBits(const Double_t pt, const Double_t eta, const Double_t phi);
103    
104     protected:
105     void Begin() {};
106     void BeginRun() {};
107     void EndRun() {};
108     void SlaveBegin();
109     void SlaveTerminate();
110     void Terminate() {};
111     void Process();
112    
113    
114     ClassDef(MuonFakeRateMod,1);
115     };
116     }
117    
118     #endif