ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/LeptonSelection/interface/ElectronSelection.h
(Generate patch)

Comparing UserCode/MitHzz4l/LeptonSelection/interface/ElectronSelection.h (file contents):
Revision 1.2 by khahn, Mon Apr 30 23:54:33 2012 UTC vs.
Revision 1.21 by dkralph, Tue Oct 23 10:21:06 2012 UTC

# Line 1 | Line 1
1 < #ifndef ELECTRON_SELECTION_BDT
2 < #define ELECTRON_SELECTION_BDT
1 > #ifndef ELECTRON_SELECTION
2 > #define ELECTRON_SELECTION
3  
4   #include <vector>
5   #include <cassert>
# Line 20 | Line 20
20  
21   #include "ParseArgs.h"
22   #include "SelectionStatus.h"
23 + #include "Various.h"
24 +
25 + #include "ElectronTools.h"
26 + #include "PileupEnergyDensity.h"
27 + #include "PFCandidate.h"
28 + #include "IsolationSelection.h"
29  
30   #define ELE_IDMVA_CUT_BIN0 0.369
31   #define ELE_IDMVA_CUT_BIN1 -0.025
# Line 28 | Line 34
34   #define ELE_IDMVA_CUT_BIN4 0.467
35   #define ELE_IDMVA_CUT_BIN5 0.795
36  
37 < using namespace std;
38 <
39 < SelectionStatus electronDummyVeto(ControlFlags &, const mithep::Electron*, const mithep::Vertex &);
40 < SelectionStatus electronCutBasedVeto(ControlFlags &, const mithep::Electron*, const mithep::Vertex &);
41 <
42 < SelectionStatus electronPreSelection(ControlFlags &, const mithep::Electron *, const mithep::Vertex &);
43 < SelectionStatus electronBDTSelection( ControlFlags &, const mithep::Electron * );
44 <
45 < void initBDTSelection();
46 < Bool_t isEleFO(ControlFlags &, const mithep::Electron *, const mithep::Vertex &vtx);
47 < Bool_t isLooseEleFO(const mithep::Electron *, const mithep::Array<mithep::PFCandidate> *, const mithep::Vertex &vtx);
48 <
37 > #define ELE_REFERENCE_IDMVA_CUT_BIN0 0.470   // eta<0.8, pt<10      
38 > #define ELE_REFERENCE_IDMVA_CUT_BIN1 0.004   // 0.8<eta<1.479, pt<10
39 > #define ELE_REFERENCE_IDMVA_CUT_BIN2 0.295   // eta>1.478, pt<10    
40 > #define ELE_REFERENCE_IDMVA_CUT_BIN3 0.500   // eta<0.8, pt>10      
41 > #define ELE_REFERENCE_IDMVA_CUT_BIN4 0.120   // 0.8<eta<1.479, pt>10
42 > #define ELE_REFERENCE_IDMVA_CUT_BIN5 0.600   // eta>1.478, pt>10    
43 >
44 > #define ELE_LOOSE_IDMVA_CUT_BIN0 0.369
45 > #define ELE_LOOSE_IDMVA_CUT_BIN1 -0.025
46 > #define ELE_LOOSE_IDMVA_CUT_BIN2 0.531
47 > #define ELE_LOOSE_IDMVA_CUT_BIN3 0.735
48 > #define ELE_LOOSE_IDMVA_CUT_BIN4 0.467
49 > #define ELE_LOOSE_IDMVA_CUT_BIN5 0.795
50 >
51 > #define ELE_TIGHT_IDMVA_CUT_BIN0 0.093
52 > #define ELE_TIGHT_IDMVA_CUT_BIN1 0.451
53 > #define ELE_TIGHT_IDMVA_CUT_BIN2 0.595
54 > #define ELE_TIGHT_IDMVA_CUT_BIN3 0.881
55 > #define ELE_TIGHT_IDMVA_CUT_BIN4 0.731
56 > #define ELE_TIGHT_IDMVA_CUT_BIN5 0.891
57  
58 < SelectionStatus electronIDMVASelection(ControlFlags &ctrl,
45 <                                     const mithep::Electron *ele,
46 <                                     const mithep::Vertex & vtx   );
47 < void initElectronIDMVA();
58 > using namespace std;
59  
60 + bool electron2012CutBasedIDMediumVersionThatWorksOn2011(ControlFlags &ctrl, const mithep::Electron *ele, const mithep::Vertex * vtx,  const mithep::Array<mithep::PFCandidate> * fPFCandidates,
61 +                                                        const mithep::DecayParticleCol *conversions, const mithep::Array<mithep::PileupEnergyDensity> * puEnergyDensity,
62 +                                                        mithep::ElectronTools::EElectronEffectiveAreaTarget EffectiveAreaVersion);
63 +
64 + bool electronPOG2012CutBasedIDMedium(const mithep::Electron *ele, const mithep::Vertex * vtx,  const mithep::Array<mithep::PFCandidate> * fPFCandidates, const mithep::DecayParticleCol *conversions, const mithep::Array<mithep::PileupEnergyDensity> * puEnergyDensity);
65 +
66 + SelectionStatus electronReferencePreSelection(ControlFlags &, const mithep::Electron *, const mithep::Vertex *);
67 + SelectionStatus electronPreSelectionNoD0DzIP(ControlFlags &ctrl,
68 +                                             const mithep::Electron *electron,
69 +                                             const mithep::Vertex * vtx);
70 + SelectionStatus electronPreSelectionNoD0IP(ControlFlags &ctrl,
71 +                                         const mithep::Electron *electron,
72 +                                         const mithep::Vertex * vtx);
73 + // get the mva value
74 + double getElectronIDMVAval(ControlFlags &ctrl,
75 +                        const mithep::Electron *ele,
76 +                        const mithep::Vertex * vtx   );
77 + // see if electron passes mva
78 + SelectionStatus passElectronIDMVA(ControlFlags &ctrl,
79 +                                  double mvaVal,
80 +                                  const mithep::Electron *ele);
81 + // do both of the above steps
82 + SelectionStatus electronReferenceIDMVASelectionV1(ControlFlags &ctrl,
83 +                                                const mithep::Electron *ele,
84 +                                                  const mithep::Vertex * vtx   );
85 + void initElectronIDMVAV1();
86 + SelectionStatus electronTagSelection(const mithep::Electron *ele,
87 +                                     const mithep::Vertex  *vtx,
88 +                                     const mithep::Array<mithep::PFCandidate>  *pfCandidates);
89   #endif
90  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines