1 |
|
#ifndef CONTROL_SELECTION |
2 |
|
#define CONTROL_SELECTION |
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 <TChain.h> // |
23 |
– |
#include <TBranch.h> // class to access branches in TTree |
4 |
|
#include <TClonesArray.h> // ROOT array class |
25 |
– |
#include <TLorentzVector.h> // 4-vector class |
26 |
– |
#include <TVector3.h> // 3D vector class |
5 |
|
|
28 |
– |
// |
29 |
– |
// ntuple format headers |
30 |
– |
// |
31 |
– |
#include "HiggsAnaDefs.hh" |
6 |
|
#include "TEventInfo.hh" |
7 |
|
#include "TElectron.hh" |
8 |
|
#include "TMuon.hh" |
35 |
– |
#include "TJet.hh" |
36 |
– |
#include "RunLumiRangeMap.h" |
9 |
|
|
38 |
– |
// |
39 |
– |
// utility headers |
40 |
– |
// |
41 |
– |
#include "PassHLT.h" |
10 |
|
#include "ParseArgs.h" |
11 |
< |
#include "SimpleLepton.h" |
12 |
< |
#include "MuonSelection.h" |
45 |
< |
#include "HZZCiCElectronSelection.h" |
46 |
< |
#include "Angles.h" |
11 |
> |
#include "EventData.h" |
12 |
> |
|
13 |
|
|
14 |
|
// |
15 |
|
// defines |
23 |
|
#define EVTFAIL_IP 6 |
24 |
|
#define EVTFAIL_KINEMATICS 7 |
25 |
|
|
60 |
– |
//#define THEIR_EVENTS |
61 |
– |
|
62 |
– |
void initRunLumiRangeMap(); |
26 |
|
|
27 |
|
|
28 |
< |
unsigned fails_Control_selection(ControlFlags &ctrl, // input control |
29 |
< |
mithep::TEventInfo *info, // input event inof |
30 |
< |
TClonesArray *electronArr, // input electrons |
31 |
< |
TClonesArray *muonArr, // input muons |
32 |
< |
TClonesArray *jetArr, // input muons |
33 |
< |
double eventweight, // weight |
34 |
< |
TTree * ctrltuple // output ntuple |
35 |
< |
); |
28 |
> |
void initEMUFR(ControlFlags ctrl); |
29 |
> |
EventData fails_Control_selection(ControlFlags &ctrl, // input control |
30 |
> |
mithep::TEventInfo *info, // input event inof |
31 |
> |
TClonesArray *electronArr, // input electrons |
32 |
> |
SelectionStatus (*ElectronPreSelector)( ControlFlags &, const mithep::TElectron*), |
33 |
> |
SelectionStatus (*ElectronIDSelector)( ControlFlags &, const mithep::TElectron*), |
34 |
> |
SelectionStatus (*ElectronIsoSelector)( ControlFlags &, const mithep::TElectron*), |
35 |
> |
TClonesArray *muonArr, |
36 |
> |
SelectionStatus (*MuonPreSelector)( ControlFlags &, const mithep::TMuon*), |
37 |
> |
SelectionStatus (*MuonIDSelector)( ControlFlags &, const mithep::TMuon*), |
38 |
> |
SelectionStatus (*MuonIsoSelector)( ControlFlags &, const mithep::TMuon*) ) ; |
39 |
|
#endif |