ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Mods/interface/PhotonIDMod.h
(Generate patch)

Comparing UserCode/MitPhysics/Mods/interface/PhotonIDMod.h (file contents):
Revision 1.10 by loizides, Mon Jun 15 15:00:21 2009 UTC vs.
Revision 1.26 by bendavid, Sun May 27 17:02:19 2012 UTC

# Line 14 | Line 14
14  
15   #include "MitAna/TreeMod/interface/BaseMod.h"
16   #include "MitAna/DataTree/interface/PhotonFwd.h"
17 + #include "MitAna/DataTree/interface/TrackCol.h"
18 + #include "MitAna/DataTree/interface/BeamSpotCol.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/VertexCol.h"
23 + #include "MitAna/DataTree/interface/DecayParticleCol.h"
24 + #include "MitAna/DataTree/interface/PileupInfoCol.h"
25 + #include "MitAna/DataTree/interface/MCParticleCol.h"
26 + #include "MitAna/DataTree/interface/PFCandidateCol.h"
27 +
28 + #include "MitPhysics/Utils/interface/MVATools.h"
29  
30   namespace mithep
31   {
# Line 23 | Line 35 | namespace mithep
35        PhotonIDMod(const char *name="PhotonIDMod",
36                    const char *title="Photon identification module");
37  
38 +      Bool_t              GetApplySpikeRemoval()      const { return fApplySpikeRemoval;   }
39        Bool_t              GetApplyPixelSeed()         const { return fApplyPixelSeed;      }
40        const char         *GetGoodName()               const { return GetGoodPhotonsName(); }  
41        const char         *GetGoodPhotonsName()        const { return fGoodPhotonsName;     }  
# Line 32 | Line 45 | namespace mithep
45        const char         *GetIsoType()                const { return fPhotonIsoType;       }
46        const char         *GetOutputName()             const { return GetGoodPhotonsName(); }  
47        Double_t            GetPtMin()                  const { return fPhotonPtMin;         }
48 +      Bool_t              GetApplyFiduciality()       const { return fFiduciality;         }
49 +      Double_t            GetEtaWidthEB()             const { return fEtaWidthEB;          }
50 +      Double_t            GetEtaWidthEE()             const { return fEtaWidthEE;          }
51 +      Double_t            GetAbsEtaMax()              const { return fAbsEtaMax;           }
52 +      void                SetApplySpikeRemoval(Bool_t b)    { fApplySpikeRemoval  = b;     }
53        void                SetApplyPixelSeed(Bool_t b)       { fApplyPixelSeed  = b;        }
54 +      void                SetApplyElectronVeto(Bool_t b)    { fApplyElectronVeto = b;      }
55 +      void                SetInvertElectronVeto(Bool_t b)   { fInvertElectronVeto = b;     }      
56 +      void                SetApplyElectronVetoConvRecovery(Bool_t b) { fApplyElectronVetoConvRecovery = b; }
57 +      void                SetApplyConversionId(Bool_t b)    { fApplyConversionId = b;      }
58 +      void                SetApplyTriggerMatching(Bool_t b)      { fApplyTriggerMatching = b;  }      
59        void                SetGoodName(const char *n)        { SetGoodPhotonsName(n);       }  
60        void                SetGoodPhotonsName(const char *n) { fGoodPhotonsName = n;        }  
61        void                SetHadOverEmMax(Double_t hoe)     { fHadOverEmMax    = hoe;      }
62        void                SetIDType(const char *type)       { fPhotonIDType    = type;     }
63        void                SetInputName(const char *n)       { fPhotonBranchName= n;        }  
64 +      void                SetTrackName(const char *n)       { fTrackBranchName = n;        }  
65 +      void                SetBeamspotName(const char *n)    { fBeamspotBranchName = n;     }  
66        void                SetIsoType(const char *type)      { fPhotonIsoType   = type;     }
67        void                SetOutputName(const char *n)      { SetGoodPhotonsName(n);       }    
68        void                SetPtMin(Double_t pt)             { fPhotonPtMin     = pt;       }
69 <      void                SetR9Min(Double_t x)              { fPhotonR9Min     = x;         }
69 >      void                SetR9Min(Double_t x)              { fPhotonR9Min     = x;        }
70 >      void                SetEtaWidthEB(Double_t x)         { fEtaWidthEB      = x;        }
71 >      void                SetEtaWidthEE(Double_t x)         { fEtaWidthEE      = x;        }
72 >      void                SetAbsEtaMax(Double_t x)          { fAbsEtaMax       = x;        }
73 >      void                SetApplyR9Min(Bool_t b)           { fApplyR9Min      = b;        }
74 >      void                SetApplyFiduciality(Bool_t b)     { fFiduciality = b;            }      
75 >      void                SetEffAreas(Double_t ecal, Double_t hcal, Double_t track) {
76 >        fEffAreaEcalEE = ecal; fEffAreaHcalEE = hcal; fEffAreaTrackEE = track;
77 >        fEffAreaEcalEB = ecal; fEffAreaHcalEB = hcal; fEffAreaTrackEB = track;
78 >      }
79 >      void                SetEffAreasEEEB(Double_t ecalEE, Double_t hcalEE, Double_t trackEE,
80 >                                          Double_t ecalEB, Double_t hcalEB, Double_t trackEB) {
81 >        fEffAreaEcalEE = ecalEE; fEffAreaHcalEE = hcalEE; fEffAreaTrackEE = trackEE;
82 >        fEffAreaEcalEB = ecalEB; fEffAreaHcalEB = hcalEB; fEffAreaTrackEB = trackEB;
83 >      }
84 >      void                SetTriggerObjectsName(const char *n)   { fTrigObjectsName = n;       }
85 >    
86 >
87 >    void                SetPhotonsFromBranch(bool b)           { fPhotonsFromBranch = b;           }
88 >
89 >    void                SetPVName(const char *n)          { fPVName = n;                 }
90 >    void                SetPVFromBranch(bool b)           { fPVFromBranch = b;           }
91 >    void                SetIsData (Bool_t b) { fIsData = b;};
92 >    void                SetGoodElectronsFromBranch(Bool_t b) { fGoodElectronsFromBranch = b; }
93 >    void                SetGoodElectronName(TString name) { fGoodElectronName = name; }
94 >
95 >    void                SetBdtCutBarrel(double a) {fbdtCutBarrel = a; }
96 >    void                SetBdtCutEndcap(double a) {fbdtCutEndcap = a; }
97 >
98 >    void                SetDoMCR9Scaling(Bool_t b)        { fDoMCR9Scaling = b; }
99 >    void                SetMCR9Scale(Double_t ebscale, Double_t eescale) { fMCR9ScaleEB = ebscale; fMCR9ScaleEE = eescale; }
100 >    void                SetDoMCSigIEtaIEtaScaling(Bool_t b)        { fDoMCSigIEtaIEtaScaling = b; }
101 >    void                SetDoMCWidthScaling(Bool_t b)        { fDoMCWidthScaling = b; }
102 >    void                SetDoMCErrScaling(Bool_t b)        { fDoMCErrScaling = b; }
103 >    void                SetMCErrScale(Double_t ebscale, Double_t eescale) { fMCErrScaleEB = ebscale; fMCErrScaleEE = eescale; }
104  
105        enum EPhIdType {
106          kIdUndef = 0,       //not defined
107          kTight,             //"Tight"
108          kLoose,             //"Loose"
109          kLooseEM,           //"LooseEM"
110 +        kBaseLineCiC,        //"2011" Hgg BaseLine CiC
111 +        kBaseLineCiCPF,        //"2012" Hgg BaseLine CiC
112 +        kMITMVAId,          // MingMing MVA ID
113 +        kMITPhSelection,    //MIT loose preselection (for mva)
114 +        kMITPFPhSelection,    //MIT loose preselection (for mva)
115          kCustomId           //"Custom"
116        };
117 +
118        enum EPhIsoType {
119          kIsoUndef = 0,      //not defined        
120          kNoIso,             //"NoIso"
121          kCombinedIso,       //"CombinedIso"
122 <        kCustomIso          //"Custom"
122 >        kCustomIso,         //"Custom"
123 >        kMITPUCorrected     //PileUp Corrected Hgg Isolation
124        };
125  
126      protected:
# Line 63 | Line 129 | namespace mithep
129  
130        TString             fPhotonBranchName;     //name of photon collection (input)
131        TString             fGoodPhotonsName;      //name of exported "good photon" collection
132 +      TString             fTrackBranchName;      // name of the track collection (only needed for PU corrected isolation)
133 +      TString             fBeamspotBranchName;   //name of the Beamspot collection (only needed for PU corrected isolation)
134 +      TString             fPileUpDenName;        //name of the PU density collection      
135 +      TString             fConversionName;       //name of conversion branch
136 +      TString             fElectronName;
137 +      TString             fGoodElectronName;
138 +      TString             fTrigObjectsName;        //name of trigger object collection
139 +      TString             fPVName;
140 +      TString             fMCParticleName;
141 +      TString             fPileUpName;
142 +      TString             fPFCandsName;
143        TString             fPhotonIDType;         //type of photon identification we impose
144        TString             fPhotonIsoType;        //type of photon isolation we impose
145        Double_t            fPhotonPtMin;          //min pt cut
146        Double_t            fHadOverEmMax;         //maximum of hadronic/em energy
147 +      Bool_t              fApplySpikeRemoval;    //whether apply spike removal      
148        Bool_t              fApplyPixelSeed;       //=true then apply pixel seed constraint
149 +      Bool_t              fApplyElectronVeto;    //=true then apply electron veto (with no conversion recovery)
150 +      Bool_t              fInvertElectronVeto;    //=true then invert electron veto (for cic selection only atm)      
151 +      Bool_t              fApplyElectronVetoConvRecovery; //=true then apply electron veto with conversion recovery
152 +      Bool_t              fApplyConversionId;    //=true then apply conversion id cuts
153 +      Bool_t              fApplyTriggerMatching;   //match to hlt photon (default=0)      
154        Double_t            fPhotonR9Min;          //min R9 value
155        EPhIdType           fPhIdType;             //!identification scheme
156        EPhIsoType          fPhIsoType;            //!isolation scheme
157 +      Bool_t              fFiduciality;          //=true then apply fiducual requirement
158 +      Double_t            fEtaWidthEB;           //max Eta Width in ECAL Barrel
159 +      Double_t            fEtaWidthEE;           //max Eta Width in ECAL End Cap
160 +      Double_t            fAbsEtaMax;            //max Abs Eta
161 +      Bool_t              fApplyR9Min;           //apply R9 min
162 +      Double_t            fEffAreaEcalEE;
163 +      Double_t            fEffAreaHcalEE;
164 +      Double_t            fEffAreaTrackEE;
165 +      Double_t            fEffAreaEcalEB;
166 +      Double_t            fEffAreaHcalEB;
167 +      Double_t            fEffAreaTrackEB;
168        const PhotonCol    *fPhotons;              //!photon branch
169 <    
169 >      const TrackCol     *fTracks;               //!track branch
170 >      const BeamSpotCol  *fBeamspots;            //!beamspot branch    
171 >      const PileupEnergyDensityCol *fPileUpDen;  //!rho branch
172 >      const DecayParticleCol *fConversions;      //!conversion branch
173 >      const ElectronCol  *fElectrons;            //!electron branch
174 >      const ElectronCol  *fGoodElectrons;        //!electron branch
175 >      const VertexCol*    fPV;                   //!
176 >      const MCParticleCol          *fMCParticles;//!
177 >      const PileupInfoCol          *fPileUp;     //!  
178 >      const PFCandidateCol          *fPFCands;     //!  
179 >
180 >      Double_t fbdtCutBarrel;
181 >      Double_t fbdtCutEndcap;
182 >      int                         fVariableType;
183 >      TString                     fEndcapWeights;
184 >      TString                     fBarrelWeights;
185 >      MVATools                    fTool;
186 >
187 >      Bool_t fDoMCR9Scaling;
188 >      Double_t fMCR9ScaleEB;
189 >      Double_t fMCR9ScaleEE;
190 >      
191 >      Bool_t fDoMCSigIEtaIEtaScaling;
192 >      Bool_t fDoMCWidthScaling;
193 >      
194 >      Bool_t fDoMCErrScaling;
195 >      Double_t fMCErrScaleEB;
196 >      Double_t fMCErrScaleEE;    
197 >
198 >      Bool_t              fPhotonsFromBranch;
199 >      Bool_t              fPVFromBranch;
200 >      Bool_t              fGoodElectronsFromBranch;
201 >      Bool_t              fIsData;
202 >
203 >
204 >
205      ClassDef(PhotonIDMod, 1) // Photon identification module
206    };
207   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines