ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/PhotonMvaMod.h
Revision: 1.1
Committed: Sun Dec 11 00:03:04 2011 UTC (13 years, 4 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_028a, Mit_028, Mit_027, Mit_027a, Mit_025e, Mit_025d
Log Message:
more photon updates for mva plus id analysis

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // M.Yang 2011/10/12
3 // $Id: PhotonMvaMod.h,v 1.13 2011/11/18 00:07:16 bendavid Exp $
4 //
5 // PhotonMvaMod
6 //
7 //Precompute regression energy corrections and id bdt output to save memory and cpu time
8 //in subsequent module chains.
9 //
10 // Authors: J.Bendavid
11 //--------------------------------------------------------------------------------------------------
12
13 #ifndef MITPHYSICS_MODS_PHOTONMVAMOD_H
14 #define MITPHYSICS_MODS_PHOTONMVAMOD_H
15
16 #include "MitAna/TreeMod/interface/BaseMod.h"
17 #include "MitAna/DataTree/interface/PhotonFwd.h"
18 #include "MitAna/DataTree/interface/TrackCol.h"
19 #include "MitAna/DataTree/interface/VertexCol.h"
20 #include "MitAna/DataTree/interface/BeamSpotCol.h"
21 #include "MitAna/DataTree/interface/PFCandidateCol.h"
22 #include "MitAna/DataTree/interface/PileupEnergyDensityCol.h"
23 #include "MitAna/DataTree/interface/DecayParticleCol.h"
24 #include "MitAna/DataTree/interface/ElectronCol.h"
25 #include "MitAna/DataTree/interface/DecayParticleCol.h"
26 #include "MitAna/DataTree/interface/PileupInfoCol.h"
27 #include "MitAna/DataTree/interface/MCParticleCol.h"
28
29 #include "MitPhysics/Utils/interface/PhotonTools.h"
30 #include "MitPhysics/Utils/interface/EGEnergyCorrector.h"
31
32 #include "MitPhysics/Utils/interface/MVATools.h"
33 #include "MitPhysics/Utils/interface/VertexTools.h"
34
35 class TNtuple;
36 class TRandom3;
37 class TH1D;
38
39 namespace mithep
40 {
41 class PhotonMvaMod : public BaseMod
42 {
43 public:
44 PhotonMvaMod(const char *name ="PhotonMvaMod",
45 const char *title="Selecting PhotonPairs");
46
47 ~PhotonMvaMod();
48
49
50
51 // setting all the input Names
52 void SetInputPhotonsName(const char *n){ fPhotonBranchName= n; }
53 void SetPhotonsFromBranch(bool b) { fPhotonsFromBranch = b; }
54 void SetTrackName(const char *n) { fTrackBranchName = n; }
55 void SetElectronName(const char *n) { fElectronName = n; }
56 void SetConversionName(const char *n) { fConversionName = n; }
57 void SetPUDensityName(const char *n) { fPileUpDenName = n; }
58 void SetPVName(const char *n) { fPVName = n; }
59 void SetPVFromBranch(bool b) { fPVFromBranch = b; }
60 void SetMCParticle(const char *n) { fMCParticleName = n; }
61 void SetPUInfoName(const char *n) { fPileUpName = n; }
62 void SetBeamspotName(const char *n) { fBeamspotName = n; }
63 void SetPFCandName(const char *n) { fPFCandName = n; }
64
65
66 // get/set the Names for the output Photon Collection
67 const char *GetOutputName() const { return fGoodPhotonsName; }
68 void SetOutputName(const char *n) { fGoodPhotonsName=n; }
69
70 // set basic Cut variables (FOR PRE-SELECTION)
71 void SetPtMin(Double_t pt) { fPhotonPtMin = pt; }
72 void SetAbsEtaMax(Double_t eta) { fPhotonEtaMax = eta; }
73
74 // is Data Or Not?
75 void SetIsData (Bool_t b) { fIsData = b;};
76
77
78
79 void ApplyEleVeto(bool a) { fApplyEleVeto = a; }
80
81 void SetDoRegression(Bool_t b) { fDoRegression = b; }
82
83 void SetRegressionVersion(UInt_t v) { fRegressionVersion = v; }
84 void SetRegressionWeights(TString f) { fRegWeights = f; }
85
86 protected:
87 void Process();
88 void SlaveBegin();
89
90 // private auxiliary methods...
91 // Names for the input Collections
92 TString fPhotonBranchName;
93 TString fElectronName;
94 TString fGoodElectronName;
95 TString fConversionName;
96 TString fTrackBranchName;
97 TString fPileUpDenName;
98 TString fPVName;
99 TString fBeamspotName;
100 TString fPFCandName;
101 TString fMCParticleName;
102 TString fPileUpName;
103
104 TString fGoodPhotonsName; //name of exported "good photon" collection
105
106
107 // Basic Pre-Selection kinematics
108 Double_t fPhotonPtMin; // min pt cut fro PRE-SELECTION!
109 Double_t fPhotonEtaMax; // max eta cut for PRE-SELECTION!
110
111 // is it Data or MC?
112 Bool_t fIsData;
113
114 // in case there's some PV pre-selection
115 Bool_t fPhotonsFromBranch;
116 Bool_t fPVFromBranch;
117 Bool_t fGoodElectronsFromBranch;
118
119 const PhotonCol *fPhotons;
120 const ElectronCol *fElectrons;
121 const ElectronCol *fGoodElectrons;
122 const DecayParticleCol *fConversions;
123 const TrackCol *fTracks;
124 const PileupEnergyDensityCol *fPileUpDen;
125 const VertexCol *fPV;
126 const BeamSpotCol *fBeamspot;
127 const PFCandidateCol *fPFCands;
128 const MCParticleCol *fMCParticles;
129 const PileupInfoCol *fPileUp;
130
131 EGEnergyCorrector egcor;
132 Bool_t fDoRegression;
133 TString fPhFixString;
134 TString fPhFixFile;
135 TString fRegWeights;
136
137 const TH1D *fEtaCorrections;
138
139 // --------------------------------
140 bool fApplyEleVeto;
141 UInt_t fRegressionVersion;
142
143
144 ClassDef(PhotonMvaMod, 1) // Photon identification module
145 };
146 }
147 #endif