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

Comparing UserCode/MitPhysics/Utils/interface/ElectronTools.h (file contents):
Revision 1.4 by ceballos, Thu May 27 07:59:13 2010 UTC vs.
Revision 1.31 by anlevin, Wed Jun 6 15:05:39 2012 UTC

# Line 15 | Line 15
15   #include "MitAna/DataTree/interface/DecayParticleCol.h"
16   #include "MitAna/DataTree/interface/VertexCol.h"
17   #include "MitAna/DataTree/interface/BeamSpotCol.h"
18 + #include "MitAna/DataTree/interface/TriggerObjectCol.h"
19   #include "MitCommon/MathTools/interface/MathUtils.h"
20 + #include "MitPhysics/ElectronLikelihood/interface/ElectronLikelihood.h"
21  
22   namespace mithep {
23    class ElectronTools {
# Line 31 | Line 33 | namespace mithep {
33          kZeeId,             //"ZeeId"
34          kCustomIdLoose,     //"CustomLoose"
35          kCustomIdTight,     //"CustomTight"
36 +        kVBTFWorkingPointFakeableId,
37          kVBTFWorkingPoint95Id,
38          kVBTFWorkingPoint90Id,
39          kVBTFWorkingPoint85Id,
40          kVBTFWorkingPoint80Id,
41 <        kVBTFWorkingPoint70Id
41 >        kVBTFWorkingPointLowPtId,
42 >        kVBTFWorkingPoint70Id,
43 >        kMVAID_BDTG_NoIPInfo,
44 >        kMVAID_BDTG_WithIPInfo,
45 >        kMVAID_BDTG_IDIsoCombined,
46 >        kHggLeptonTagId,
47 >        kMVAID_BDTG_IDHWW2012TrigV0
48        };
49  
50        enum EElIsoType {
51 <        kIsoUndef = 0,      //not defined
52 <        kTrackCalo,         //"TrackCalo"
53 <        kTrackJura,         //"TrackJura"
54 <        kTrackJuraCombined, //"TrackJuraCombined"
55 <        kTrackJuraSliding,  //"TrackJuraSliding"
56 <        kNoIso,             //"NoIso"
57 <        kZeeIso,            //"ZeeIso"
58 <        kCustomIso,          //"Custom"
51 >        kIsoUndef = 0,                 //"not defined"
52 >        kTrackCalo,                    //"TrackCalo"
53 >        kTrackJura,                    //"TrackJura"
54 >        kTrackJuraCombined,            //"TrackJuraCombined"
55 >        kTrackJuraSliding,             //"TrackJuraSliding"
56 >        kTrackJuraSlidingNoCorrection, //"TrackJuraSlidingNoCorrection"
57 >        kCombinedRelativeConeAreaCorrected, //"CombinedRelativeConeAreaCorrected"
58 >        kNoIso,                        //"NoIso"
59 >        kPFIso,                        //"PFIso"
60 >        kPFIsoNoL,                     //"PFIsoNoL"
61 >        kZeeIso,                       //"ZeeIso"
62 >        kCustomIso,                    //"Custom"
63          kVBTFWorkingPoint95Iso,
64          kVBTFWorkingPoint90Iso,
65          kVBTFWorkingPoint85Iso,
66          kVBTFWorkingPoint80Iso,
67 <        kVBTFWorkingPoint70Iso
67 >        kVBTFWorkingPoint70Iso,
68 >        kMVAIso_BDTG_IDIsoCombined,
69 >        kPFIso_HWW2012TrigV0
70 >      };
71 >
72 >      enum EElectronEffectiveAreaType {
73 >        kEleChargedIso03,
74 >        kEleNeutralHadronIso03,
75 >        kEleGammaAndNeutralHadronIso03,
76 >        kEleGammaIso03,
77 >        kEleGammaIsoVetoEtaStrip03,
78 >        kEleChargedIso04,
79 >        kEleNeutralHadronIso04,
80 >        kEleGammaAndNeutralHadronIso04,
81 >        kEleGammaIso04,
82 >        kEleGammaIsoVetoEtaStrip04,
83 >        kEleNeutralHadronIso007,
84 >        kEleNeutralIso04,
85 >        kEleHoverE,
86 >        kEleHcalDepth1OverEcal,
87 >        kEleHcalDepth2OverEcal,
88 >        kEleGammaIsoDR0p0To0p1,
89 >        kEleGammaIsoDR0p1To0p2,
90 >        kEleGammaIsoDR0p2To0p3,
91 >        kEleGammaIsoDR0p3To0p4,
92 >        kEleGammaIsoDR0p4To0p5,
93 >        kEleNeutralHadronIsoDR0p0To0p1,
94 >        kEleNeutralHadronIsoDR0p1To0p2,
95 >        kEleNeutralHadronIsoDR0p2To0p3,
96 >        kEleNeutralHadronIsoDR0p3To0p4,
97 >        kEleNeutralHadronIsoDR0p4To0p5
98 >      };
99 >      
100 >      enum EElectronEffectiveAreaTarget {
101 >        kEleEANoCorr,
102 >        kEleEAData2011,
103 >                                kEleEAData2012,
104 >        kEleEASummer11MC,
105 >        kEleEAFall11MC
106        };
107  
108        static Bool_t       PassChargeFilter(const Electron *el);
109        static Bool_t       PassConversionFilter(const Electron *el, const DecayParticleCol *conversions,
110 <                                               Bool_t WrongHitsRequirement );
110 >                                               const BaseVertex *vtx, UInt_t nWrongHitsMax=0, Double_t probMin=1e-6,
111 >                                               Double_t lxyMin = 2.0, Bool_t matchCkf = kTRUE, Bool_t requireArbitratedMerged = kFALSE, Double_t trkptMin = -99.);
112        static Bool_t       PassCustomID(const Electron *el, EElIdType idType);
113        static Bool_t       PassCustomIso(const Electron *el, EElIsoType isoType,
114                                          Bool_t useCombineIso = kTRUE);
115 <      static Bool_t       PassD0Cut(const Electron *el, const VertexCol *vertices,
116 <                                    Double_t fD0Cut, Bool_t fReverseD0Cut);
117 <      static Bool_t       PassD0Cut(const Electron *el, const BeamSpotCol *beamspots,
66 <                                    Double_t fD0Cut, Bool_t fReverseD0Cut);
115 >      static Bool_t       PassD0Cut(const Electron *el, const VertexCol *vertices, Double_t fD0Cut, Int_t nVertex = 0);
116 >      static Bool_t       PassD0Cut(const Electron *el, const BeamSpotCol *beamspots, Double_t fD0Cut);
117 >      static Bool_t       PassDZCut(const Electron *el, const VertexCol *vertices, Double_t fDZCut, Int_t nVertex = 0);
118        static Bool_t       PassSpikeRemovalFilter(const Electron *ele);
119 +      static Bool_t       PassTriggerMatching(const Electron *ele, const TriggerObjectCol *trigobjs);
120        static Int_t        Classify(const Electron *ele);
121        static Int_t        PassTightId(const Electron *ele, const VertexCol *vertices,
122 <                                      const DecayParticleCol *conversions, const Int_t typeCuts);
122 >                                      const DecayParticleCol *conversions, const Int_t typeCuts,
123 >                                      Double_t beta = 1.0);
124 >      static bool         compute_cut(double x, double et, double cut_min, double cut_max, bool gtn=false);
125 >      static Double_t     Likelihood(ElectronLikelihood *LH, const Electron *ele);
126 >      static Double_t     ElectronEffectiveArea(EElectronEffectiveAreaType type, Double_t Eta,
127 >                                                EElectronEffectiveAreaTarget EffectiveAreaTarget = kEleEAData2011);
128 >
129 >      static Bool_t       PassHggLeptonTagID(const Electron *el);
130  
131      ClassDef(ElectronTools, 0) // Muon tools
132    };

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines