ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/NonMCBackground/interface/ZPlusX.h
Revision: 1.1
Committed: Thu Jul 12 15:10:54 2012 UTC (12 years, 10 months ago) by dkralph
Content type: text/plain
Branch: MAIN
Log Message:
Added a PlotHeader that my plot exe's use heavily, and cleaned up the plotters.

Cleaned up my fake rate code so it almost all runs off of ntuples made by applyZPlusX in one of either ZPlusF or ZPlusFF mode, rather than different selectors.

Added a plotter for their fakes, NonMCBackground/src/plotTheirFakes.cc

Made some adjustments to fake selector to be in sync tih ZPlusX and vice versa.

Removed all the json_spirit and RunLumiRangeMap stuff from Util -- it was only there because we were compiling without MitCommon, now that we pick up MitCommon, it just causes problems to have this in two different places.

File Contents

# User Rev Content
1 dkralph 1.1 #ifndef ZPLUS2HIGHIP_SELECTION
2     #define ZPLUS2HIGHIP_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 <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    
40     #include "ParseArgs.h"
41     #include "EventData.h"
42     #include "SelectionStatus.h"
43    
44     #define PASS_SKIM0 0
45     #define PASS_SKIM1 1
46     #define PASS_SKIM2 2
47     #define PASS_TRIGGER 3
48     #define PASS_ZCANDIDATE 4
49     #define PASS_GOODZ1 5
50     #define PASS_4L 6
51     #define PASS_ZZCANDIDATE 7
52     #define PASS_GOODZ2 8
53     #define PASS_ZZ_20_10 9
54     #define PASS_RESONANCE 10
55     #define PASS_m4l_GT_70 11
56     #define PASS_m4l_GT_100 12
57    
58     EventData apply_ZPlusX(ControlFlags &ctrl, // input control
59     const mithep::EventHeader *info, // input event info
60     const mithep::Array<mithep::Vertex> * vtxArr ,
61     const mithep::Array<mithep::PFCandidate> *fPFCandidates,
62     const mithep::Array<mithep::PileupEnergyDensity> *puEnergyDensity,
63     const mithep::Array<mithep::Electron> *electronArr, // input electrons
64     SelectionStatus (*ElectronPreSelector)( ControlFlags &,
65     const mithep::Electron*,
66     const mithep::Vertex *),
67     SelectionStatus (*ElectronIDSelector)( ControlFlags &,
68     const mithep::Electron*,
69     const mithep::Vertex *),
70     SelectionStatus (*ElectronIsoSelector)( ControlFlags &,
71     const mithep::Electron*,
72     const mithep::Vertex *,
73     const mithep::Array<mithep::PFCandidate> *,
74     const mithep::Array<mithep::PileupEnergyDensity> *puEnergyDensity,
75    
76     mithep::ElectronTools::EElectronEffectiveAreaTarget,
77     vector<const mithep::PFCandidate*>),
78     const mithep::Array<mithep::Muon> *muonArr, // input muons
79     SelectionStatus (*MuonPreSelector)( ControlFlags &,
80     const mithep::Muon*,
81     const mithep::Vertex *,
82     const mithep::Array<mithep::PFCandidate> *),
83     SelectionStatus (*MuonIDSelector)( ControlFlags &,
84     const mithep::Muon*,
85     // const mithep::Vertex *),
86     const mithep::Vertex *,
87     const mithep::Array<mithep::PFCandidate> *),
88     SelectionStatus (*MuonIsoSelector)( ControlFlags &,
89     const mithep::Muon*,
90     const mithep::Vertex * ,
91     const mithep::Array<mithep::PFCandidate> *,
92     const mithep::Array<mithep::PileupEnergyDensity> *,
93     mithep::MuonTools::EMuonEffectiveAreaTarget,
94     vector<const mithep::PFCandidate*>)
95     );
96     #endif