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

Comparing UserCode/MitHzz4l/Selection/interface/Selection.h (file contents):
Revision 1.6 by dkralph, Sun Oct 23 11:50:01 2011 UTC vs.
Revision 1.11 by khahn, Sat May 5 21:43:55 2012 UTC

# Line 25 | Line 25 | using namespace std;
25   #include <TClonesArray.h>           // ROOT array class
26   #include <TLorentzVector.h>         // 4-vector class
27   #include <TVector3.h>               // 3D vector class
28 + #include <TH1D.h>
29  
30   //
31   // ntuple format headers
32   //
33 < #include "HiggsAnaDefs.hh"
34 < #include "TEventInfo.hh"
35 < #include "TElectron.hh"
36 < #include "TMuon.hh"
37 < #include "TJet.hh"
33 > #include "EventHeader.h"
34 > #include "Electron.h"
35 > #include "Muon.h"
36 > #include "PFCandidate.h"
37 > #include "PFCandidateCol.h"
38   #include "RunLumiRangeMap.h"
39  
39 //
40 // utility headers
41 //
42 #include "PassHLT.h"
40   #include "ParseArgs.h"
41 < #include "SimpleLepton.h"
42 < #include "MuonSelection.h"
46 < #include "HZZCiCElectronSelection.h"
47 < #include "Angles.h"
48 <
49 < //
50 < // defines
51 < //
52 < #define K_BDT_LOOSE 0
53 < #define K_BDT_MED   1
54 < #define K_BDT_TIGHT 2
55 <
56 < #define EVTFAIL_JSON       0
57 < #define EVTFAIL_TRIGGER    1
58 < #define EVTFAIL_Z1         2
59 < #define EVTFAIL_Z1_PLUSL   3
60 < #define EVTFAIL_4L         4
61 < #define EVTFAIL_ISOLATION  5
62 < #define EVTFAIL_IP         6
63 < #define EVTFAIL_KINEMATICS 7
64 <
65 <
66 < //i: 9cut: 0.275effB: 0.45364effS: 0.895138nsig: 344158ntot: 384475
67 < #define PFISO_ELE_TIGHT_EB_HIGHPT 0.275
68 < //i: 2cut: 0.45effB: 0.765236effS: 0.949037nsig: 364881ntot: 384475
69 < #define PFISO_ELE_LOOSE_EB_HIGHPT 0.45
70 <
71 < //i: 8cut: 0.3effB: 0.535408effS: 0.896676nsig: 143713ntot: 160273
72 < #define PFISO_ELE_TIGHT_TRANS_HIGHPT 0.3
73 < //i: 2cut: 0.45effB: 0.781833effS: 0.946179nsig: 151647ntot: 160273
74 < #define PFISO_ELE_LOOSE_TRANS_HIGHPT 0.45
75 <
76 < //i: 7cut: 0.325effB: 0.627641effS: 0.894936nsig: 212422ntot: 237360
77 < #define PFISO_ELE_TIGHT_EE_HIGHPT 0.325
78 < //i: 0cut: 0.5effB: 0.825242effS: 0.947497nsig: 224898ntot: 237360
79 < #define PFISO_ELE_LOOSE_EE_HIGHPT 0.5
80 <
81 <
82 < //i: 10cut: 0.25effB: 0.479756effS: 0.634297nsig: 9569ntot: 15086
83 < #define PFISO_ELE_TIGHT_EB_LOWPT    0.25
84 < //i: 8cut: 0.3effB: 0.576163effS: 0.680963nsig: 10273ntot: 15086
85 < #define PFISO_ELE_LOOSE_EB_LOWPT    0.3
86 <
87 < //i: 10cut: 0.25effB: 0.49514effS: 0.626184nsig: 8858ntot: 14146
88 < #define PFISO_ELE_TIGHT_TRANS_LOWPT 0.25
89 < //i: 8cut: 0.3effB: 0.584501effS: 0.682384nsig: 9653ntot: 14146
90 < #define PFISO_ELE_LOOSE_TRANS_LOWPT 0.3
91 <
92 < //i: 10cut: 0.25effB: 0.537894effS: 0.639738nsig: 18530ntot: 28965
93 < #define PFISO_ELE_TIGHT_EE_LOWPT    0.25
94 < //i: 8cut: 0.3effB: 0.618612effS: 0.691973nsig: 20043ntot: 28965
95 < #define PFISO_ELE_LOOSE_EE_LOWPT    0.3
96 <
97 <
98 <
99 < #define PFISO_MU_LOOSE_EB_HIGHPT 0.20
100 < #define PFISO_MU_LOOSE_EB_LOWPT 0.13
101 < #define PFISO_MU_LOOSE_EE_HIGHPT 0.20
102 < #define PFISO_MU_LOOSE_EE_LOWPT 0.13
103 <
104 < #define PFISO_MU_TIGHT_EB_HIGHPT 0.13
105 < #define PFISO_MU_TIGHT_EB_LOWPT 0.06
106 < #define PFISO_MU_TIGHT_EE_HIGHPT 0.09
107 < #define PFISO_MU_TIGHT_EE_LOWPT 0.05
108 <
109 <
110 < //#define THEIR_EVENTS
111 <
112 <
113 <
114 < void initRunLumiRangeMap();
115 <
116 < unsigned fails_HZZ4L_selection(ControlFlags &ctrl,           // input control
117 <                               mithep::TEventInfo *info,     // input event inof
118 <                               TClonesArray *electronArr,    // input electrons
119 <                               TClonesArray *muonArr,        // input muons
120 <                               double eventweight,           // weight
121 <                               TTree * passtuple );        // output ntuple
122 <
123 < unsigned fails_HZZ4L_selection(ControlFlags &ctrl,           // input control
124 <                               mithep::TEventInfo *info,     // input event inof
125 <                               TClonesArray *electronArr,    // input electrons
126 <                               TClonesArray *muonArr,        // input muons
127 <                               double eventweight,           // weight
128 <                               LabVectors * l );
129 <
130 < unsigned fails_HZZ4L_selection(ControlFlags &ctrl,           // input control
131 <                               mithep::TEventInfo *info,     // input event inof
132 <                               TClonesArray *electronArr,    // input electrons
133 <                               TClonesArray *muonArr,        // input muons
134 <                               double eventweight,           // weight
135 <                               TTree * passtuple,          // output ntuple
136 <                               LabVectors * l);
41 > #include "EventData.h"
42 > #include "SelectionStatus.h"
43  
44 + void fillVetoArrays( ControlFlags & ctrl,
45 +                     const mithep::Array<mithep::Muon> *muonArr,    
46 +                     vector< const mithep::Muon*>     & muonsToVeto,
47 +                     const mithep::Array<mithep::Electron> *electronArr,    
48 +                     vector< const mithep::Electron*> & electronsToVeto,
49 +                     const mithep::Vertex & vtx );
50 + EventData apply_HZZ4L_selection(ControlFlags &ctrl,           // input control
51 +                                const mithep::EventHeader *info,     // input event info
52 +                                const mithep::Vertex & fVertex,
53 +                                const mithep::Array<mithep::PFCandidate>  *fPFCandidates,
54 +                                const mithep::Array<mithep::PileupEnergyDensity> *,
55 +                                const mithep::Array<mithep::Electron> *electronArr,    // input electrons
56 +                                SelectionStatus (*ElectronPreSelector)( ControlFlags &,
57 +                                                                        const mithep::Electron*,
58 +                                                                        const mithep::Vertex &),
59 +                                SelectionStatus (*ElectronIDSelector)( ControlFlags &,
60 +                                                                       const mithep::Electron*,
61 +                                                                       const mithep::Vertex &),
62 +                                SelectionStatus (*ElectronIsoSelector)( ControlFlags &,
63 +                                                                        const mithep::Electron*,
64 +                                                                        const mithep::Vertex & ,
65 +                                                                        const mithep::Array<mithep::PFCandidate> *,
66 +                                                                        const mithep::Array<mithep::PileupEnergyDensity> *,
67 +                                                                        mithep::ElectronTools::EElectronEffectiveAreaTarget,
68 +                                                                        vector<const mithep::Muon*>,
69 +                                                                        vector<const mithep::Electron*> ),
70 +                                const mithep::Array<mithep::Muon> *muonArr,    // input muons
71 +                                SelectionStatus (*MuonPreSelector)( ControlFlags &,
72 +                                                                    const mithep::Muon*,
73 +                                                                    const mithep::Vertex &,
74 +                                                                    const mithep::Array<mithep::PFCandidate> *),
75 +                                SelectionStatus (*MuonIDSelector)( ControlFlags &,
76 +                                                                   const mithep::Muon*,
77 +                                                                   // const mithep::Vertex &),
78 +                                                                   const mithep::Vertex &,
79 +                                                                   const mithep::Array<mithep::PFCandidate> *),
80 +                                SelectionStatus (*MuonIsoSelector)( ControlFlags &,
81 +                                                                    const mithep::Muon*,
82 +                                                                    const mithep::Vertex & ,
83 +                                                                    const mithep::Array<mithep::PFCandidate> *,
84 +                                                                    const mithep::Array<mithep::PileupEnergyDensity> *,
85 +                                                                    mithep::MuonTools::EMuonEffectiveAreaTarget,
86 +                                                                    vector<const mithep::Muon*>,
87 +                                                                    vector<const mithep::Electron*> )
88 +                                );        
89   #endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines