ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/PhotonPairSelector.h
Revision: 1.32
Committed: Tue Jan 8 13:24:01 2013 UTC (12 years, 4 months ago) by fabstoec
Content type: text/plain
Branch: MAIN
Changes since 1.31: +66 -4 lines
Log Message:
added feature to use special smearing on Diphoton MVA input

File Contents

# User Rev Content
1 fabstoec 1.1 //--------------------------------------------------------------------------------------------------
2 mingyang 1.10 // M.Yang 2011/10/12
3 fabstoec 1.32 // $Id: PhotonPairSelector.h,v 1.31 2012/10/08 16:32:40 mingyang Exp $
4 fabstoec 1.1 //
5     // PhotonPairSelector
6     //
7     // Authors: F. Stoeckli
8     //--------------------------------------------------------------------------------------------------
9    
10     #ifndef MITPHYSICS_MODS_PHOTONPAIRSELECTOR_H
11     #define MITPHYSICS_MODS_PHOTONPAIRSELECTOR_H
12    
13     #include "MitAna/TreeMod/interface/BaseMod.h"
14     #include "MitAna/DataTree/interface/PhotonFwd.h"
15     #include "MitAna/DataTree/interface/TrackCol.h"
16     #include "MitAna/DataTree/interface/VertexCol.h"
17     #include "MitAna/DataTree/interface/BeamSpotCol.h"
18     #include "MitAna/DataTree/interface/PFCandidateCol.h"
19     #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
20     #include "MitAna/DataTree/interface/DecayParticleCol.h"
21     #include "MitAna/DataTree/interface/ElectronCol.h"
22     #include "MitAna/DataTree/interface/DecayParticleCol.h"
23     #include "MitAna/DataTree/interface/PileupInfoCol.h"
24     #include "MitAna/DataTree/interface/MCParticleCol.h"
25 bendavid 1.20 #include "MitAna/DataTree/interface/JetCol.h"
26     #include "MitAna/DataTree/interface/PFMetCol.h"
27 fabstoec 1.1
28     #include "MitPhysics/Utils/interface/PhotonTools.h"
29 bendavid 1.8 #include "MitPhysics/Utils/interface/EGEnergyCorrector.h"
30 fabstoec 1.1
31 mingyang 1.10 #include "MitPhysics/Utils/interface/MVATools.h"
32 bendavid 1.13 #include "MitPhysics/Utils/interface/VertexTools.h"
33 mingyang 1.10
34 bendavid 1.20 #include "MitPhysics/Utils/interface/MVAMet.h"
35 fabstoec 1.30 #include "MitPhysics/Utils/interface/RhoUtilities.h"
36    
37 bendavid 1.20
38 fabstoec 1.1 class TNtuple;
39     class TRandom3;
40 bendavid 1.8 class TH1D;
41 fabstoec 1.1
42     namespace mithep
43 bendavid 1.7 {
44 fabstoec 1.1 class PhotonPairSelector : public BaseMod
45     {
46     public:
47 paus 1.18 PhotonPairSelector(const char *name = "PhotonPairSelector",
48     const char *title = "Selecting PhotonPairs");
49 fabstoec 1.1
50     ~PhotonPairSelector();
51    
52     enum PhotonSelection {
53     kNoPhSelection = 0,
54     kCiCPhSelection,
55 bendavid 1.21 kCiCPFPhSelection,
56 mingyang 1.10 kMVAPhSelection, //MVA
57 bendavid 1.21 kMITPhSelection,
58     kMITPFPhSelection
59 fabstoec 1.1 };
60     enum VertexSelection {
61     kStdVtxSelection = 0,
62     kCiCVtxSelection,
63 bendavid 1.13 kMITVtxSelection,
64 bendavid 1.20 kCiCMVAVtxSelection,
65     kMetSigVtxSelection
66 fabstoec 1.1 };
67 fabstoec 1.29
68     // outsourced to MVATools (IdMVAType) (fab)
69     /* enum IdMVA { */
70     /* k2011IdMVA = 0, */
71     /* k2012IdMVA_globe */
72     /* }; */
73 fabstoec 1.27
74    
75     // outsourced to PhotonTools (fab)
76     /* enum ShowerShape { */
77     /* k2011ShowerShape = 0, */
78     /* k2012ShowerShape */
79     /* }; */
80 fabstoec 1.1
81     // setting all the input Names
82     void SetInputPhotonsName(const char *n){ fPhotonBranchName= n; }
83     void SetPhotonsFromBranch(bool b) { fPhotonsFromBranch = b; }
84     void SetTrackName(const char *n) { fTrackBranchName = n; }
85     void SetElectronName(const char *n) { fElectronName = n; }
86     void SetConversionName(const char *n) { fConversionName = n; }
87     void SetPUDensityName(const char *n) { fPileUpDenName = n; }
88     void SetPVName(const char *n) { fPVName = n; }
89     void SetPVFromBranch(bool b) { fPVFromBranch = b; }
90     void SetMCParticle(const char *n) { fMCParticleName = n; }
91     void SetPUInfoName(const char *n) { fPileUpName = n; }
92     void SetBeamspotName(const char *n) { fBeamspotName = n; }
93     void SetPFCandName(const char *n) { fPFCandName = n; }
94    
95     // set the type of selection
96     void SetPhotonSelType(const char *type){ fPhotonSelType = type; }
97     void SetVertexSelType(const char *type){ fVertexSelType = type; }
98 mingyang 1.22 void SetIdMVAType(const char *type) { fIdMVAType = type; }
99 mingyang 1.26 void SetShowerShapeType(const char *type) { fShowerShapeType = type; }
100 fabstoec 1.1
101     // get/set the Names for the output Photon Collection
102     const char *GetOutputName() const { return fGoodPhotonsName; }
103     void SetOutputName(const char *n) { fGoodPhotonsName=n; }
104    
105 fabstoec 1.19 const char *GetOutputVtxName() const { return fChosenVtxName; }
106     void SetOutputVtxName(const char* n) { fChosenVtxName = n; }
107    
108    
109 fabstoec 1.1 // set basic Cut variables (FOR PRE-SELECTION)
110     void SetPtMin(Double_t pt) { fPhotonPtMin = pt; }
111     void SetAbsEtaMax(Double_t eta) { fPhotonEtaMax = eta; }
112    
113     void SetLeadingPtMin(Double_t pt) { fLeadingPtMin = pt; }
114 fabstoec 1.6 void SetTrailingPtMin(Double_t pt) { fTrailingPtMin = pt; }
115 fabstoec 1.1
116     // is Data Or Not?
117 mingyang 1.31 void SetIsData (Bool_t b) { fIsData = b;}
118    
119     void Set2012HCP (Bool_t b) { f2012HCP = b;};
120    
121 fabstoec 1.1
122     // methods to set the MC smearing/energy correction values
123     void AddEnCorrPerRun( UInt_t sRun, UInt_t eRun,
124 bendavid 1.14 Double_t corr_EBlowEta_hR9central,
125     Double_t corr_EBlowEta_hR9gap,
126 bendavid 1.13 Double_t corr_EBlowEta_lR9,
127     Double_t corr_EBhighEta_hR9,
128     Double_t corr_EBhighEta_lR9,
129     Double_t corr_EElowEta_hR9,
130     Double_t corr_EElowEta_lR9,
131     Double_t corr_EEhighEta_hR9,
132     Double_t corr_EEhighEta_lR9) {
133    
134 bendavid 1.14 fDataEnCorr_EBlowEta_hR9central.push_back(corr_EBlowEta_hR9central);
135     fDataEnCorr_EBlowEta_hR9gap.push_back(corr_EBlowEta_hR9gap);
136 bendavid 1.13 fDataEnCorr_EBlowEta_lR9.push_back(corr_EBlowEta_lR9);
137     fDataEnCorr_EBhighEta_hR9.push_back(corr_EBhighEta_hR9);
138     fDataEnCorr_EBhighEta_lR9.push_back(corr_EBhighEta_lR9);
139     fDataEnCorr_EElowEta_hR9.push_back(corr_EElowEta_hR9);
140     fDataEnCorr_EElowEta_lR9.push_back(corr_EElowEta_lR9);
141     fDataEnCorr_EEhighEta_hR9.push_back(corr_EEhighEta_hR9);
142     fDataEnCorr_EEhighEta_lR9.push_back(corr_EEhighEta_lR9);
143 fabstoec 1.1 fRunStart.push_back (sRun);
144     fRunEnd.push_back (eRun);
145     };
146    
147 bendavid 1.14 void SetMCSmearFactors(Double_t _EBlowEta_hR9central,
148     Double_t _EBlowEta_hR9gap,
149 bendavid 1.13 Double_t _EBlowEta_lR9,
150     Double_t _EBhighEta_hR9,
151     Double_t _EBhighEta_lR9,
152     Double_t _EElowEta_hR9,
153     Double_t _EElowEta_lR9,
154     Double_t _EEhighEta_hR9,
155     Double_t _EEhighEta_lR9) {
156 bendavid 1.14 fMCSmear_EBlowEta_hR9central = _EBlowEta_hR9central;
157     fMCSmear_EBlowEta_hR9gap = _EBlowEta_hR9gap;
158 bendavid 1.13 fMCSmear_EBlowEta_lR9 = _EBlowEta_lR9;
159     fMCSmear_EBhighEta_hR9 = _EBhighEta_hR9;
160     fMCSmear_EBhighEta_lR9 = _EBhighEta_lR9;
161     fMCSmear_EElowEta_hR9 = _EElowEta_hR9;
162     fMCSmear_EElowEta_lR9 = _EElowEta_lR9;
163     fMCSmear_EEhighEta_hR9 = _EEhighEta_hR9;
164     fMCSmear_EEhighEta_lR9 = _EEhighEta_lR9;
165 fabstoec 1.1 };
166 fabstoec 1.2
167 fabstoec 1.32 // special routine in ordetr to use different smearing to compute mass-error for di-photon MVA input
168     void SetMCSmearFactorsMVA(Double_t _EBlowEta_hR9central,
169     Double_t _EBlowEta_hR9gap,
170     Double_t _EBlowEta_lR9,
171     Double_t _EBhighEta_hR9,
172     Double_t _EBhighEta_lR9,
173     Double_t _EElowEta_hR9,
174     Double_t _EElowEta_lR9,
175     Double_t _EEhighEta_hR9,
176     Double_t _EEhighEta_lR9) {
177    
178     fMCSmearMVA_EBlowEta_hR9central = _EBlowEta_hR9central;
179     fMCSmearMVA_EBlowEta_hR9gap = _EBlowEta_hR9gap;
180     fMCSmearMVA_EBlowEta_lR9 = _EBlowEta_lR9;
181     fMCSmearMVA_EBhighEta_hR9 = _EBhighEta_hR9;
182     fMCSmearMVA_EBhighEta_lR9 = _EBhighEta_lR9;
183     fMCSmearMVA_EElowEta_hR9 = _EElowEta_hR9;
184     fMCSmearMVA_EElowEta_lR9 = _EElowEta_lR9;
185     fMCSmearMVA_EEhighEta_hR9 = _EEhighEta_hR9;
186     fMCSmearMVA_EEhighEta_lR9 = _EEhighEta_lR9;
187     };
188    
189 mingyang 1.31
190     void AddEnCorrPerRun2012HCP( UInt_t sRun, UInt_t eRun,
191     Double_t corr_EBlowEta_hR9central,
192     Double_t corr_EBlowEta_hR9gap,
193     Double_t corr_EBlowEta_lR9central,
194     Double_t corr_EBlowEta_lR9gap,
195     Double_t corr_EBhighEta_hR9,
196     Double_t corr_EBhighEta_lR9,
197     Double_t corr_EElowEta_hR9,
198     Double_t corr_EElowEta_lR9,
199     Double_t corr_EEhighEta_hR9,
200     Double_t corr_EEhighEta_lR9) {
201     fDataEnCorr_EBlowEta_hR9central.push_back(corr_EBlowEta_hR9central);
202     fDataEnCorr_EBlowEta_hR9gap.push_back(corr_EBlowEta_hR9gap);
203     fDataEnCorr_EBlowEta_lR9central.push_back(corr_EBlowEta_lR9central);
204     fDataEnCorr_EBlowEta_lR9gap.push_back(corr_EBlowEta_lR9gap);
205     fDataEnCorr_EBhighEta_hR9.push_back(corr_EBhighEta_hR9);
206     fDataEnCorr_EBhighEta_lR9.push_back(corr_EBhighEta_lR9);
207     fDataEnCorr_EElowEta_hR9.push_back(corr_EElowEta_hR9);
208     fDataEnCorr_EElowEta_lR9.push_back(corr_EElowEta_lR9);
209     fDataEnCorr_EEhighEta_hR9.push_back(corr_EEhighEta_hR9);
210     fDataEnCorr_EEhighEta_lR9.push_back(corr_EEhighEta_lR9);
211     fRunStart.push_back (sRun);
212     fRunEnd.push_back (eRun);
213     };
214    
215     void SetMCSmearFactors2012HCP(Double_t _EBlowEta_hR9central,
216     Double_t _EBlowEta_hR9gap,
217     Double_t _EBlowEta_lR9central,
218     Double_t _EBlowEta_lR9gap,
219     Double_t _EBhighEta_hR9,
220     Double_t _EBhighEta_lR9,
221     Double_t _EElowEta_hR9,
222     Double_t _EElowEta_lR9,
223     Double_t _EEhighEta_hR9,
224     Double_t _EEhighEta_lR9) {
225     fMCSmear_EBlowEta_hR9central = _EBlowEta_hR9central;
226     fMCSmear_EBlowEta_hR9gap = _EBlowEta_hR9gap;
227     fMCSmear_EBlowEta_lR9central = _EBlowEta_lR9central;
228     fMCSmear_EBlowEta_lR9gap = _EBlowEta_lR9gap;
229     fMCSmear_EBhighEta_hR9 = _EBhighEta_hR9;
230     fMCSmear_EBhighEta_lR9 = _EBhighEta_lR9;
231     fMCSmear_EElowEta_hR9 = _EElowEta_hR9;
232     fMCSmear_EElowEta_lR9 = _EElowEta_lR9;
233     fMCSmear_EEhighEta_hR9 = _EEhighEta_hR9;
234     fMCSmear_EEhighEta_lR9 = _EEhighEta_lR9;
235     };
236 fabstoec 1.32
237     // special routine in ordetr to use different smearing to compute mass-error for di-photon MVA input
238     void SetMCSmearFactors2012HCPMVA(Double_t _EBlowEta_hR9central,
239     Double_t _EBlowEta_hR9gap,
240     Double_t _EBlowEta_lR9central,
241     Double_t _EBlowEta_lR9gap,
242     Double_t _EBhighEta_hR9,
243     Double_t _EBhighEta_lR9,
244     Double_t _EElowEta_hR9,
245     Double_t _EElowEta_lR9,
246     Double_t _EEhighEta_hR9,
247     Double_t _EEhighEta_lR9) {
248     fMCSmearMVA_EBlowEta_hR9central = _EBlowEta_hR9central;
249     fMCSmearMVA_EBlowEta_hR9gap = _EBlowEta_hR9gap;
250     fMCSmearMVA_EBlowEta_lR9central = _EBlowEta_lR9central;
251     fMCSmearMVA_EBlowEta_lR9gap = _EBlowEta_lR9gap;
252     fMCSmearMVA_EBhighEta_hR9 = _EBhighEta_hR9;
253     fMCSmearMVA_EBhighEta_lR9 = _EBhighEta_lR9;
254     fMCSmearMVA_EElowEta_hR9 = _EElowEta_hR9;
255     fMCSmearMVA_EElowEta_lR9 = _EElowEta_lR9;
256     fMCSmearMVA_EEhighEta_hR9 = _EEhighEta_hR9;
257     fMCSmearMVA_EEhighEta_lR9 = _EEhighEta_lR9;
258     };
259    
260    
261 bendavid 1.15 void SetApplyEleVeto(bool a) { fApplyEleVeto = a; }
262 bendavid 1.7 void SetInvertElectronVeto(Bool_t b) { fInvertElectronVeto = b; }
263 fabstoec 1.2 void DoDataEneCorr(bool a) { fDoDataEneCorr = a; }
264     void DoMCSmear(bool a) { fDoMCSmear = a; }
265 fabstoec 1.32 void UseSpecialSmearForDPMVA(bool a) { fUseSpecialSmearForDPMVA = a; }
266 fabstoec 1.2
267 bendavid 1.7 void SetGoodElectronsFromBranch(Bool_t b) { fGoodElectronsFromBranch = b; }
268     void SetGoodElectronName(TString name) { fGoodElectronName = name; }
269 bendavid 1.24 void SetUseSingleLegConversions(Bool_t b) { fUseSingleLegConversions = b; }
270 bendavid 1.8 void SetDoRegression(Bool_t b) { fDoRegression = b; }
271     void SetEtaCorrections(const TH1D *h) { fEtaCorrections = h; }
272 mingyang 1.12 void SetBdtCutBarrel(Float_t x) { fbdtCutBarrel = x; }
273     void SetBdtCutEndcap(Float_t x) { fbdtCutEndcap = x; }
274 mingyang 1.26
275     void SetDoShowerShapeScaling(Bool_t b) { fDoShowerShapeScaling = b; }
276 bendavid 1.13
277 bendavid 1.20 void SetJetsName(const char *n) { fJetsName = n; }
278 bendavid 1.28
279 fabstoec 1.30 void SetRhoType(RhoUtilities::RhoType type) { fRhoType = type ; }
280    
281 mingyang 1.31 void SetApplyLeptonTag(bool a) { fApplyLeptonTag = a; }
282    
283     void SetLeptonTagElectronsName(TString name) { fLeptonTagElectronsName = name; }
284     void SetLeptonTagMuonsName (TString name) { fLeptonTagMuonsName = name; }
285    
286 fabstoec 1.1 protected:
287     void Process();
288     void SlaveBegin();
289    
290     // private auxiliary methods...
291 bendavid 1.7 void FindHiggsPtAndZ(Float_t& pt, Float_t& z, Float_t& mass);
292 fabstoec 1.1 Int_t FindRunRangeIdx(UInt_t run);
293 bendavid 1.13 Double_t GetDataEnCorr(Int_t runRange, PhotonTools::eScaleCats cat);
294 fabstoec 1.32 Double_t GetMCSmearFac(PhotonTools::eScaleCats cat, bool useSpecialSmear = false); // last flag in case of special smearing for error computation
295 mingyang 1.31 Double_t GetDataEnCorrHCP(Int_t runRange, PhotonTools::eScaleCats cat);
296 fabstoec 1.32 Double_t GetMCSmearFacHCP(PhotonTools::eScaleCats cat, bool useSpecialSmear = false); // last flag in case of special smearing for error computation
297 fabstoec 1.1 Float_t GetEventCat(PhotonTools::CiCBaseLineCats cat1, PhotonTools::CiCBaseLineCats cat2);
298    
299     // Names for the input Collections
300     TString fPhotonBranchName;
301     TString fElectronName;
302 bendavid 1.7 TString fGoodElectronName;
303 fabstoec 1.1 TString fConversionName;
304 bendavid 1.24 TString fPFConversionName;
305 fabstoec 1.1 TString fTrackBranchName;
306     TString fPileUpDenName;
307     TString fPVName;
308     TString fBeamspotName;
309     TString fPFCandName;
310     TString fMCParticleName;
311     TString fPileUpName;
312 bendavid 1.20 TString fJetsName;
313     TString fPFMetName;
314 fabstoec 1.1
315     TString fGoodPhotonsName; //name of exported "good photon" collection
316 fabstoec 1.19 TString fChosenVtxName; //name of exported "chosen Vtx" collection
317 mingyang 1.31
318     TString fLeptonTagElectronsName;
319     TString fLeptonTagMuonsName;
320 fabstoec 1.1
321     // Selection Types
322     TString fPhotonSelType;
323     TString fVertexSelType;
324     PhotonSelection fPhSelType;
325     VertexSelection fVtxSelType;
326    
327 mingyang 1.22 // Id Type
328     TString fIdMVAType;
329 fabstoec 1.29 MVATools::IdMVAType fIdType;
330     //IdMVA fIdType;
331 mingyang 1.22
332 mingyang 1.26 // showershape
333 fabstoec 1.27 TString fShowerShapeType;
334     PhotonTools::ShowerShapeScales fSSType;
335 mingyang 1.26
336 fabstoec 1.1 // Basic Pre-Selection kinematics
337     Double_t fPhotonPtMin; // min pt cut fro PRE-SELECTION!
338     Double_t fPhotonEtaMax; // max eta cut for PRE-SELECTION!
339    
340     Double_t fLeadingPtMin;
341     Double_t fTrailingPtMin;
342    
343     // is it Data or MC?
344     Bool_t fIsData;
345    
346     // in case there's some PV pre-selection
347     Bool_t fPhotonsFromBranch;
348     Bool_t fPVFromBranch;
349 bendavid 1.7 Bool_t fGoodElectronsFromBranch;
350 bendavid 1.24 Bool_t fUseSingleLegConversions;
351 fabstoec 1.1
352 mingyang 1.31 Bool_t f2012HCP;
353    
354 fabstoec 1.1 const PhotonCol *fPhotons;
355     const ElectronCol *fElectrons;
356 bendavid 1.7 const ElectronCol *fGoodElectrons;
357 fabstoec 1.1 const DecayParticleCol *fConversions;
358 bendavid 1.24 const DecayParticleCol *fPFConversions;
359 fabstoec 1.1 const TrackCol *fTracks;
360     const PileupEnergyDensityCol *fPileUpDen;
361     const VertexCol *fPV;
362     const BeamSpotCol *fBeamspot;
363     const PFCandidateCol *fPFCands;
364     const MCParticleCol *fMCParticles;
365     const PileupInfoCol *fPileUp;
366 bendavid 1.20 const JetCol *fJets;
367     const PFMetCol *fPFMet;
368 mingyang 1.31 const ElectronCol *fLeptonTagElectrons;
369     const MuonCol *fLeptonTagMuons;
370 bendavid 1.20
371 fabstoec 1.1 // Vectroes to hols smeraring/correction factors
372 bendavid 1.14 std::vector<Double_t> fDataEnCorr_EBlowEta_hR9central;
373     std::vector<Double_t> fDataEnCorr_EBlowEta_hR9gap;
374 bendavid 1.13 std::vector<Double_t> fDataEnCorr_EBlowEta_lR9;
375 mingyang 1.31 std::vector<Double_t> fDataEnCorr_EBlowEta_lR9central;
376     std::vector<Double_t> fDataEnCorr_EBlowEta_lR9gap;
377 bendavid 1.13 std::vector<Double_t> fDataEnCorr_EBhighEta_hR9;
378     std::vector<Double_t> fDataEnCorr_EBhighEta_lR9;
379     std::vector<Double_t> fDataEnCorr_EElowEta_hR9;
380     std::vector<Double_t> fDataEnCorr_EElowEta_lR9;
381     std::vector<Double_t> fDataEnCorr_EEhighEta_hR9;
382     std::vector<Double_t> fDataEnCorr_EEhighEta_lR9;
383 fabstoec 1.1
384 paus 1.18 std::vector<UInt_t> fRunStart;
385     std::vector<UInt_t> fRunEnd;
386 fabstoec 1.1
387 paus 1.18 Double_t fMCSmear_EBlowEta_hR9central;
388     Double_t fMCSmear_EBlowEta_hR9gap;
389     Double_t fMCSmear_EBlowEta_lR9;
390 mingyang 1.31 Double_t fMCSmear_EBlowEta_lR9central;
391     Double_t fMCSmear_EBlowEta_lR9gap;
392 paus 1.18 Double_t fMCSmear_EBhighEta_hR9;
393     Double_t fMCSmear_EBhighEta_lR9;
394     Double_t fMCSmear_EElowEta_hR9;
395     Double_t fMCSmear_EElowEta_lR9;
396     Double_t fMCSmear_EEhighEta_hR9;
397     Double_t fMCSmear_EEhighEta_lR9;
398 fabstoec 1.1
399 fabstoec 1.32 // special Smear factors for usage for diphoton MVA input, incase differrent from std smearing
400     Double_t fMCSmearMVA_EBlowEta_hR9central;
401     Double_t fMCSmearMVA_EBlowEta_hR9gap;
402     Double_t fMCSmearMVA_EBlowEta_lR9;
403     Double_t fMCSmearMVA_EBlowEta_lR9central;
404     Double_t fMCSmearMVA_EBlowEta_lR9gap;
405     Double_t fMCSmearMVA_EBhighEta_hR9;
406     Double_t fMCSmearMVA_EBhighEta_lR9;
407     Double_t fMCSmearMVA_EElowEta_hR9;
408     Double_t fMCSmearMVA_EElowEta_lR9;
409     Double_t fMCSmearMVA_EEhighEta_hR9;
410     Double_t fMCSmearMVA_EEhighEta_lR9;
411    
412    
413 fabstoec 1.1 // pointer to RNG ionstance for smearing
414 paus 1.18 TRandom3* fRng;
415     EGEnergyCorrector fEgCor;
416     Bool_t fDoRegression;
417     TString fPhFixString;
418     TString fPhFixFile;
419     TString fRegWeights;
420    
421     const TH1D *fEtaCorrections;
422 bendavid 1.8
423 fabstoec 1.1 // --------------------------------
424     // some streagin flags, not adjustable yet (FIX-ME)
425 paus 1.18 bool fDoDataEneCorr;
426     bool fDoMCSmear;
427 fabstoec 1.32 bool fUseSpecialSmearForDPMVA; // if set to true, the special smearing numbers set in fMCSmearMVA_* are used to compute the mass-errors (input to diphoton MVA)
428 paus 1.18 bool fDoVtxSelection;
429     bool fApplyEleVeto;
430     Bool_t fInvertElectronVeto; //=true (invert ele veto, for cic sel only atm)
431 mingyang 1.31
432     // --------------------------------
433     bool fApplyLeptonTag;
434    
435 mingyang 1.10 //MVA
436 mingyang 1.22 int fVariableType_2011;
437     TString fEndcapWeights_2011;
438     TString fBarrelWeights_2011;
439     int fVariableType_2012_globe;
440     TString fEndcapWeights_2012_globe;
441     TString fBarrelWeights_2012_globe;
442 paus 1.18 MVATools fTool;
443     Float_t fbdtCutBarrel;
444     Float_t fbdtCutEndcap;
445    
446     VertexTools fVtxTools;
447    
448 mingyang 1.26 Bool_t fDoShowerShapeScaling;
449 fabstoec 1.27
450 paus 1.18 Bool_t fDoMCErrScaling;
451     Double_t fMCErrScaleEB;
452     Double_t fMCErrScaleEE;
453     UInt_t fRegressionVersion;
454    
455     Bool_t fRelativePtCuts;
456 bendavid 1.13
457 bendavid 1.20 MVAMet fMVAMet;
458    
459 fabstoec 1.30 RhoUtilities::RhoType fRhoType;
460    
461 fabstoec 1.1 ClassDef(PhotonPairSelector, 1) // Photon identification module
462     };
463     }
464     #endif