6 |
|
#include <string> |
7 |
|
#include <vector> |
8 |
|
|
9 |
+ |
#include <fstream> |
10 |
+ |
#include <iostream> |
11 |
+ |
#include <algorithm> |
12 |
|
#include "TH1.h" |
13 |
|
#include "TH2.h" |
14 |
|
#include "TH1D.h" |
78 |
|
double valueLookup (const BNbxlumi* object, string variable, string function = ""); |
79 |
|
double valueLookup (const BNphoton* object, string variable, string function = ""); |
80 |
|
double valueLookup (const BNsupercluster* object, string variable, string function = ""); |
81 |
+ |
|
82 |
+ |
int getTrkIsIso (const BNtrack* track1, const BNtrackCollection* trackColl); |
83 |
+ |
double getTrkPtTrue (const BNtrack* track1, const BNmcparticleCollection* genPartColl); |
84 |
+ |
double getTrkPtRes (const BNtrack* track1); |
85 |
+ |
double getTrkIsIso (const BNtrack* track1); |
86 |
+ |
void WriteDeadEcal (); |
87 |
+ |
int getTrkIsMatchedDeadEcal (const BNtrack* track1); |
88 |
+ |
|
89 |
|
//BNskimbits |
90 |
|
//BNtrigobj |
91 |
|
|
123 |
|
edm::InputTag superclusters_; |
124 |
|
edm::InputTag triggers_; |
125 |
|
std::string puFile_; |
126 |
+ |
std::string deadEcalFile_; |
127 |
|
std::string dataPU_; |
128 |
|
std::string dataset_; |
129 |
|
std::string datasetType_; |
131 |
|
vector<edm::ParameterSet> histogramSets_; |
132 |
|
bool plotAllObjectsInPassingEvents_; |
133 |
|
|
134 |
+ |
struct DeadEcal { |
135 |
+ |
double etaEcal; |
136 |
+ |
double phiEcal; |
137 |
+ |
}; |
138 |
+ |
|
139 |
+ |
std::vector<DeadEcal> DeadEcalVec; |
140 |
+ |
|
141 |
+ |
|
142 |
+ |
//Collections |
143 |
|
edm::Handle<BNtriggerCollection> triggers; |
144 |
|
edm::Handle<BNjetCollection> jets; |
145 |
|
edm::Handle<BNmuonCollection> muons; |
193 |
|
vector<cut> cuts; |
194 |
|
}; |
195 |
|
|
196 |
+ |
vector<string> objectsToGet; |
197 |
+ |
vector<string> objectsToCut; |
198 |
|
vector<string> objectsToPlot; |
176 |
– |
vector<string> allNecessaryObjects; |
199 |
|
vector<channel> channels; |
200 |
|
vector<histogram> histograms; |
201 |
|
|
202 |
|
PUWeight *puWeight_; |
203 |
|
|
204 |
|
template <class InputCollection> void setObjectFlags(cut &, uint, flagMap &, flagMap &, InputCollection, string); |
205 |
< |
template <class InputCollection1, class InputCollection2> void setObjectFlags(cut &, uint, flagMap &, flagMap &, InputCollection1, InputCollection2, string); |
205 |
> |
template <class InputCollection1, class InputCollection2> void setObjectFlags(cut &, uint, flagMap &, flagMap &, InputCollection1, InputCollection2, vector<bool>, vector<bool>, string); |
206 |
> |
|
207 |
|
template <class InputCollection> void fill1DHistogram(TH1*, histogram, InputCollection, vector<bool>, double); |
208 |
|
template <class InputCollection1, class InputCollection2> void fill1DHistogram(TH1*, histogram, InputCollection1, InputCollection2, vector<bool>, vector<bool>, vector<bool>, double); |
209 |
|
template <class InputCollection> void fill2DHistogram(TH2*, histogram, InputCollection, vector<bool>, double); |