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
Error occurred while calculating annotation data.
Log Message:
added electron energy stuff and miscellaneous other stuff

File Contents

# Content
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