10 |
|
#include "FWCore/Framework/interface/Frameworkfwd.h" |
11 |
|
#include "FWCore/Framework/interface/EDAnalyzer.h" |
12 |
|
#include "FWCore/ParameterSet/interface/ParameterSet.h" |
13 |
– |
|
13 |
|
#include "FWCore/Framework/interface/Event.h" |
14 |
|
#include "FWCore/Framework/interface/MakerMacros.h" |
15 |
|
|
17 |
– |
|
18 |
– |
|
16 |
|
#include "TFile.h" |
17 |
|
#include "TTree.h" |
18 |
|
#include "TH1.h" |
21 |
|
|
22 |
|
#include "DataFormats/HeavyIonEvent/interface/CentralityProvider.h" |
23 |
|
|
24 |
+ |
#include "DataFormats/PatCandidates/interface/Jet.h" |
25 |
+ |
#include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h" |
26 |
|
// |
27 |
|
|
28 |
|
/**\class HiInclusiveJetAnalyzer |
61 |
|
|
62 |
|
private: |
63 |
|
|
64 |
+ |
int getPFJetMuon(const pat::Jet& pfJet, const reco::PFCandidateCollection *pfCandidateColl); |
65 |
|
|
66 |
+ |
double getPtRel(const reco::PFCandidate lep, const pat::Jet& jet ); |
67 |
|
|
68 |
< |
edm::InputTag jetTag_, vtxTag_, genjetTag_, eventInfoTag_, L1gtReadout_; |
68 |
> |
void saveDaughters( const reco::GenParticle & gen); |
69 |
> |
void saveDaughters( const reco::Candidate & gen); |
70 |
|
|
71 |
+ |
edm::InputTag jetTag_, vtxTag_, genjetTag_, eventInfoTag_, L1gtReadout_, pfCandidateLabel_, trackTag_, matchTag_; |
72 |
+ |
|
73 |
+ |
std::vector<float> usedStringPts; |
74 |
|
|
75 |
|
/// verbose ? |
76 |
|
bool verbose_; |
80 |
|
bool useJEC_; |
81 |
|
bool usePat_; |
82 |
|
bool isMC_; |
83 |
+ |
bool doTrigger_; |
84 |
+ |
bool useQuality_; |
85 |
+ |
std::string trackQuality_; |
86 |
+ |
|
87 |
+ |
bool doSubEvent_; |
88 |
+ |
double genPtMin_; |
89 |
+ |
bool doLifeTimeTagging_; |
90 |
+ |
bool doLifeTimeTaggingExtras_; |
91 |
+ |
bool saveBfragments_; |
92 |
|
|
93 |
+ |
double rParam; |
94 |
+ |
double hardPtMin_; |
95 |
|
|
96 |
|
TTree *t; |
97 |
|
edm::Service<TFileService> fs1; |
111 |
|
|
112 |
|
|
113 |
|
|
114 |
< |
static const int MAXJETS = 50000; |
115 |
< |
static const int MAXHLTBITS = 500000; |
116 |
< |
|
114 |
> |
static const int MAXJETS = 500; |
115 |
> |
static const int MAXTRACKS = 5000; |
116 |
> |
static const int MAXHLTBITS = 5000; |
117 |
> |
static const int MAXBFRAG = 500; |
118 |
|
|
119 |
|
struct JRA{ |
120 |
|
|
134 |
|
float jty[MAXJETS]; |
135 |
|
float jtpu[MAXJETS]; |
136 |
|
|
137 |
+ |
float trackMax[MAXJETS]; |
138 |
+ |
float trackSum[MAXJETS]; |
139 |
+ |
int trackN[MAXJETS]; |
140 |
+ |
|
141 |
+ |
float chargedMax[MAXJETS]; |
142 |
+ |
float chargedSum[MAXJETS]; |
143 |
+ |
int chargedN[MAXJETS]; |
144 |
+ |
|
145 |
+ |
float photonMax[MAXJETS]; |
146 |
+ |
float photonSum[MAXJETS]; |
147 |
+ |
int photonN[MAXJETS]; |
148 |
+ |
|
149 |
+ |
float trackHardSum[MAXJETS]; |
150 |
+ |
float chargedHardSum[MAXJETS]; |
151 |
+ |
float photonHardSum[MAXJETS]; |
152 |
+ |
|
153 |
+ |
int trackHardN[MAXJETS]; |
154 |
+ |
int chargedHardN[MAXJETS]; |
155 |
+ |
int photonHardN[MAXJETS]; |
156 |
+ |
|
157 |
+ |
float neutralMax[MAXJETS]; |
158 |
+ |
float neutralSum[MAXJETS]; |
159 |
+ |
int neutralN[MAXJETS]; |
160 |
+ |
|
161 |
+ |
float eMax[MAXJETS]; |
162 |
+ |
float eSum[MAXJETS]; |
163 |
+ |
int eN[MAXJETS]; |
164 |
+ |
|
165 |
+ |
float muMax[MAXJETS]; |
166 |
+ |
float muSum[MAXJETS]; |
167 |
+ |
int muN[MAXJETS]; |
168 |
+ |
|
169 |
+ |
float matchedPt[MAXJETS]; |
170 |
+ |
float matchedR[MAXJETS]; |
171 |
+ |
|
172 |
+ |
float discr_csvMva[MAXJETS]; |
173 |
+ |
float discr_csvSimple[MAXJETS]; |
174 |
+ |
float discr_muByIp3[MAXJETS]; |
175 |
+ |
float discr_muByPt[MAXJETS]; |
176 |
+ |
float discr_prob[MAXJETS]; |
177 |
+ |
float discr_probb[MAXJETS]; |
178 |
+ |
float discr_tcHighEff[MAXJETS]; |
179 |
+ |
float discr_tcHighPur[MAXJETS]; |
180 |
+ |
|
181 |
+ |
int nsvtx[MAXJETS]; |
182 |
+ |
int svtxntrk[MAXJETS]; |
183 |
+ |
float svtxdl[MAXJETS]; |
184 |
+ |
float svtxdls[MAXJETS]; |
185 |
+ |
float svtxm[MAXJETS]; |
186 |
+ |
float svtxpt[MAXJETS]; |
187 |
+ |
|
188 |
+ |
int nIPtrk[MAXJETS]; |
189 |
+ |
int nselIPtrk[MAXJETS]; |
190 |
+ |
|
191 |
+ |
int nIP; |
192 |
+ |
int ipJetIndex[MAXTRACKS]; |
193 |
+ |
float ipPt[MAXTRACKS]; |
194 |
+ |
float ipProb0[MAXTRACKS]; |
195 |
+ |
float ipProb1[MAXTRACKS]; |
196 |
+ |
float ip2d[MAXTRACKS]; |
197 |
+ |
float ip2dSig[MAXTRACKS]; |
198 |
+ |
float ip3d[MAXTRACKS]; |
199 |
+ |
float ip3dSig[MAXTRACKS]; |
200 |
+ |
float ipDist2Jet[MAXTRACKS]; |
201 |
+ |
float ipDist2JetSig[MAXTRACKS]; |
202 |
+ |
float ipClosest2Jet[MAXTRACKS]; |
203 |
+ |
|
204 |
+ |
float mue[MAXJETS]; |
205 |
+ |
float mupt[MAXJETS]; |
206 |
+ |
float mueta[MAXJETS]; |
207 |
+ |
float muphi[MAXJETS]; |
208 |
+ |
float mudr[MAXJETS]; |
209 |
+ |
float muptrel[MAXJETS]; |
210 |
+ |
int muchg[MAXJETS]; |
211 |
+ |
|
212 |
+ |
float discr_fr01[MAXJETS]; |
213 |
+ |
|
214 |
|
float refpt[MAXJETS]; |
215 |
|
float refeta[MAXJETS]; |
216 |
|
float refphi[MAXJETS]; |
218 |
|
float refdphijt[MAXJETS]; |
219 |
|
float refdrjt[MAXJETS]; |
220 |
|
float refparton_pt[MAXJETS]; |
221 |
< |
float refparton_flavor[MAXJETS]; |
221 |
> |
int refparton_flavor[MAXJETS]; |
222 |
> |
int refparton_flavorForB[MAXJETS]; |
223 |
|
|
224 |
|
float pthat; |
225 |
+ |
int beamId1, beamId2; |
226 |
|
int ngen; |
227 |
|
int genmatchindex[MAXJETS]; |
228 |
|
float genpt[MAXJETS]; |
231 |
|
float geny[MAXJETS]; |
232 |
|
float gendphijt[MAXJETS]; |
233 |
|
float gendrjt[MAXJETS]; |
234 |
+ |
int gensubid[MAXJETS]; |
235 |
|
|
236 |
|
// hlt |
237 |
|
int nHLTBit; |
243 |
|
int nL1ABit; |
244 |
|
bool l1ABit[MAXHLTBITS]; |
245 |
|
|
246 |
+ |
int bMult; |
247 |
+ |
int bJetIndex[MAXBFRAG]; |
248 |
+ |
int bStatus[MAXBFRAG]; |
249 |
+ |
int bPdg[MAXBFRAG]; |
250 |
+ |
int bChg[MAXBFRAG]; |
251 |
+ |
float bVx[MAXBFRAG]; |
252 |
+ |
float bVy[MAXBFRAG]; |
253 |
+ |
float bVz[MAXBFRAG]; |
254 |
+ |
float bPt[MAXBFRAG]; |
255 |
+ |
float bEta[MAXBFRAG]; |
256 |
+ |
float bPhi[MAXBFRAG]; |
257 |
+ |
|
258 |
+ |
|
259 |
|
}; |
260 |
|
|
261 |
|
JRA jets_; |