ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/NonMCBackground/interface/SelectionEMU.h
Revision: 1.5
Committed: Fri Jul 6 15:01:28 2012 UTC (12 years, 10 months ago) by dkralph
Content type: text/plain
Branch: MAIN
CVS Tags: compiled, HEAD
Changes since 1.4: +1 -0 lines
Log Message:
*** empty log message ***

File Contents

# Content
1 #ifndef SELECTION_EMU
2 #define SELECTION_EMU
3
4 // System headers
5 //
6 #include <vector> // STL vector class
7 #include <iostream> // standard I/O
8 #include <iomanip> // functions to format standard I/O
9 #include <fstream> // functions for file I/O
10 #include <string> // C++ string class
11 #include <sstream> // class for parsing strings
12 #include <assert.h>
13 #include <stdlib.h>
14 #include <getopt.h>
15 using namespace std;
16
17 //
18 // ROOT headers
19 //
20 #include <TROOT.h> // access to gROOT, entry point to ROOT system
21 #include <TTree.h>
22 #include <TFile.h>
23 #include <TChain.h> //
24 #include <TBranch.h> // class to access branches in TTree
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 "EventHeader.h"
34 #include "Electron.h"
35 #include "Muon.h"
36 #include "PFCandidate.h"
37 #include "PFCandidateCol.h"
38 #include "RunLumiRangeMap.h"
39 #include "TriggerTable.h"
40 #include "TriggerObjectsTable.h"
41
42 #include "ParseArgs.h"
43 #include "TriggerUtils.h"
44 #include "EventData.h"
45 #include "SelectionStatus.h"
46 #include "ReferenceSelection.h"
47 #include "SelectionFuncs.h"
48
49 EventData
50 apply_HZZ4L_EMU_selection(ControlFlags &ctrl, // input control
51 const mithep::EventHeader *info, // input event info
52 mithep::TriggerTable *hltTable,
53 mithep::Array<mithep::TriggerObject> *hltObjArr,
54 mithep::TriggerObjectsTable *fTrigObjs,
55 const mithep::Array<mithep::Vertex> * vtxArr ,
56 const mithep::Array<mithep::PFCandidate> *fPFCandidates,
57 const mithep::Array<mithep::PileupEnergyDensity> *puEnergyDensity,
58 const mithep::DecayParticleCol *fConversions,
59 const mithep::Array<mithep::Electron> *electronArr, // input electrons
60 SelectionStatus (*ElectronPreSelector)( ControlFlags &,
61 const mithep::Electron*,
62 const mithep::Vertex *),
63 SelectionStatus (*ElectronIDSelector)( ControlFlags &,
64 const mithep::Electron*,
65 const mithep::Vertex *),
66 SelectionStatus (*ElectronIsoSelector)( ControlFlags &,
67 const mithep::Electron*,
68 const mithep::Vertex *,
69 const mithep::Array<mithep::PFCandidate> *,
70 const mithep::Array<mithep::PileupEnergyDensity> *puEnergyDensity,
71
72 mithep::ElectronTools::EElectronEffectiveAreaTarget,
73 vector<const mithep::PFCandidate*>),
74 const mithep::Array<mithep::Muon> *muonArr, // input muons
75 SelectionStatus (*MuonPreSelector)( ControlFlags &,
76 const mithep::Muon*,
77 const mithep::Vertex *,
78 const mithep::Array<mithep::PFCandidate> *),
79 SelectionStatus (*MuonIDSelector)( ControlFlags &,
80 const mithep::Muon*,
81 // const mithep::Vertex *),
82 const mithep::Vertex *,
83 const mithep::Array<mithep::PFCandidate> *),
84 SelectionStatus (*MuonIsoSelector)( ControlFlags &,
85 const mithep::Muon*,
86 const mithep::Vertex * ,
87 const mithep::Array<mithep::PFCandidate> *,
88 const mithep::Array<mithep::PileupEnergyDensity> *,
89 mithep::MuonTools::EMuonEffectiveAreaTarget,
90 vector<const mithep::PFCandidate*>)
91 );
92 bool has_ssof_lepton(ControlFlags &ctrl);
93
94 #endif