1 |
yangyong |
1.1 |
|
2 |
|
|
/* // system include files */
|
3 |
|
|
/* #include <memory> */
|
4 |
|
|
|
5 |
|
|
/* // user include files */
|
6 |
|
|
/* #include "FWCore/Framework/interface/Frameworkfwd.h" */
|
7 |
|
|
/* #include "FWCore/Framework/interface/EDAnalyzer.h" */
|
8 |
|
|
|
9 |
|
|
/* #include "FWCore/Framework/interface/Event.h" */
|
10 |
|
|
/* #include "FWCore/Framework/interface/MakerMacros.h" */
|
11 |
|
|
|
12 |
|
|
/* #include "FWCore/ParameterSet/interface/ParameterSet.h" */
|
13 |
|
|
/* // */
|
14 |
|
|
/* // class declaration */
|
15 |
|
|
/* // */
|
16 |
|
|
|
17 |
|
|
|
18 |
|
|
/* //GEN */
|
19 |
|
|
/* #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h" */
|
20 |
|
|
/* #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h" */
|
21 |
|
|
/* #include "DataFormats/HepMCCandidate/interface/GenParticle.h" */
|
22 |
|
|
/* #include "SimDataFormats/GeneratorProducts/interface/PdfInfo.h" */
|
23 |
|
|
|
24 |
|
|
|
25 |
|
|
/* ////SimTrack */
|
26 |
|
|
/* #include "SimDataFormats/Track/interface/SimTrack.h" */
|
27 |
|
|
/* #include "SimDataFormats/Track/interface/SimTrackContainer.h" */
|
28 |
|
|
/* #include "SimDataFormats/Vertex/interface/SimVertexContainer.h" */
|
29 |
|
|
|
30 |
|
|
|
31 |
|
|
/* //BEamSpot */
|
32 |
|
|
/* #include "DataFormats/BeamSpot/interface/BeamSpot.h" */
|
33 |
|
|
|
34 |
|
|
|
35 |
|
|
/* //Track */
|
36 |
|
|
/* #include "DataFormats/TrackReco/interface/Track.h" */
|
37 |
|
|
/* #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h" */
|
38 |
|
|
/* #include "DataFormats/TrackCandidate/interface/TrackCandidate.h" */
|
39 |
|
|
/* #include "DataFormats/TrackReco/interface/Track.h" */
|
40 |
|
|
/* #include "DataFormats/TrackReco/interface/TrackFwd.h" */
|
41 |
|
|
|
42 |
|
|
/* //HLT */
|
43 |
|
|
/* #include "DataFormats/HLTReco/interface/TriggerEvent.h" */
|
44 |
|
|
/* #include "DataFormats/HLTReco/interface/TriggerObject.h" */
|
45 |
|
|
/* #include "DataFormats/Common/interface/TriggerResults.h" */
|
46 |
|
|
/* #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h" */
|
47 |
|
|
/* #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h" */
|
48 |
|
|
/* #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h" */
|
49 |
|
|
|
50 |
|
|
|
51 |
|
|
/* //L1 Trigger */
|
52 |
|
|
/* #include "DataFormats/L1Trigger/interface/L1EmParticle.h" */
|
53 |
|
|
/* #include "DataFormats/L1Trigger/interface/L1JetParticle.h" */
|
54 |
|
|
/* #include "DataFormats/L1Trigger/interface/L1MuonParticle.h" */
|
55 |
|
|
/* #include "DataFormats/L1Trigger/interface/L1EtMissParticle.h" */
|
56 |
|
|
/* #include "DataFormats/L1Trigger/interface/L1ParticleMapFwd.h" */
|
57 |
|
|
/* #include "DataFormats/L1Trigger/interface/L1ParticleMap.h" */
|
58 |
|
|
/* #include "L1Trigger/L1ExtraFromDigis/interface/L1ExtraParticleMapProd.h" */
|
59 |
|
|
/* #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutRecord.h" */
|
60 |
|
|
/* #include "DataFormats/L1GlobalTrigger/interface/L1GtFdlWord.h" */
|
61 |
|
|
|
62 |
|
|
|
63 |
|
|
|
64 |
|
|
/* ///MET */
|
65 |
|
|
/* #include "DataFormats/METReco/interface/CaloMET.h" */
|
66 |
|
|
/* #include "DataFormats/METReco/interface/CaloMETFwd.h" */
|
67 |
|
|
/* #include "DataFormats/METReco/interface/MET.h" */
|
68 |
|
|
/* #include "DataFormats/METReco/interface/METFwd.h" */
|
69 |
|
|
/* #include "DataFormats/METReco/interface/PFMET.h" */
|
70 |
|
|
/* #include "DataFormats/METReco/interface/PFMETFwd.h" */
|
71 |
|
|
|
72 |
|
|
/* ///muon */
|
73 |
|
|
/* #include "DataFormats/MuonReco/interface/MuonCocktails.h" */
|
74 |
|
|
/* #include "RecoMuon/TrackingTools/interface/MuonServiceProxy.h" */
|
75 |
|
|
/* #include "DataFormats/MuonReco/interface/Muon.h" */
|
76 |
|
|
/* #include "DataFormats/MuonReco/interface/MuonFwd.h" */
|
77 |
|
|
/* #include "DataFormats/MuonReco/interface/MuonSelectors.h" */
|
78 |
|
|
/* #include "DataFormats/MuonReco/interface/MuonTime.h" */
|
79 |
|
|
/* #include "DataFormats/MuonReco/interface/MuonTimeExtra.h" */
|
80 |
|
|
/* #include "DataFormats/MuonReco/interface/MuonTimeExtraMap.h" */
|
81 |
|
|
/* #include "DataFormats/MuonReco/interface/MuonCosmicCompatibility.h" */
|
82 |
|
|
|
83 |
|
|
/* ///ECAL */
|
84 |
|
|
/* #include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgo.h" */
|
85 |
|
|
/* #include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h" */
|
86 |
|
|
/* #include "CondFormats/DataRecord/interface/EcalChannelStatusRcd.h" */
|
87 |
|
|
/* #include "CondFormats/EcalObjects/interface/EcalTimeCalibConstants.h" */
|
88 |
|
|
/* #include "CalibCalorimetry/EcalLaserCorrection/interface/EcalLaserDbRecord.h" */
|
89 |
|
|
/* #include "CondFormats/EcalObjects/interface/EcalIntercalibConstants.h" */
|
90 |
|
|
/* #include "CondFormats/EcalObjects/interface/EcalTimeCalibConstants.h" */
|
91 |
|
|
/* #include "CondFormats/EcalObjects/interface/EcalADCToGeVConstant.h" */
|
92 |
|
|
/* #include "CondFormats/EcalObjects/interface/EcalChannelStatus.h" */
|
93 |
|
|
/* #include "CalibCalorimetry/EcalLaserCorrection/interface/EcalLaserDbService.h" */
|
94 |
|
|
/* #include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgo.h" */
|
95 |
|
|
/* #include "RecoLocalCalo/EcalRecAlgos/interface/EcalSeverityLevelAlgoRcd.h" */
|
96 |
|
|
/* #include "RecoEcal/EgammaCoreTools/interface/EcalTools.h" */
|
97 |
|
|
/* #include "DataFormats/CaloRecHit/interface/CaloCluster.h" */
|
98 |
|
|
|
99 |
|
|
|
100 |
|
|
/* //IsoDep */
|
101 |
|
|
/* #include "DataFormats/RecoCandidate/interface/IsoDeposit.h" */
|
102 |
|
|
/* #include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h" */
|
103 |
|
|
/* #include "DataFormats/RecoCandidate/interface/IsoDepositDirection.h" */
|
104 |
|
|
|
105 |
|
|
|
106 |
|
|
/* ///vertex */
|
107 |
|
|
/* #include "DataFormats/VertexReco/interface/Vertex.h" */
|
108 |
|
|
/* #include "DataFormats/VertexReco/interface/VertexFwd.h" */
|
109 |
|
|
|
110 |
|
|
|
111 |
|
|
/* ///caloCluster */
|
112 |
|
|
/* #include "DataFormats/CaloRecHit/interface/CaloCluster.h" */
|
113 |
|
|
/* #include "DataFormats/CaloRecHit/interface/CaloClusterFwd.h" */
|
114 |
|
|
|
115 |
|
|
|
116 |
|
|
/* //covnersion */
|
117 |
|
|
/* #include "DataFormats/EgammaCandidates/interface/Conversion.h" */
|
118 |
|
|
/* #include "DataFormats/EgammaCandidates/interface/ConversionFwd.h" */
|
119 |
|
|
/* #include "RecoEgamma/EgammaTools/interface/ConversionTools.h" */
|
120 |
|
|
|
121 |
|
|
|
122 |
|
|
/* ///Egamma */
|
123 |
|
|
/* #include "DataFormats/EgammaCandidates/interface/PhotonFwd.h" */
|
124 |
|
|
/* #include "DataFormats/EgammaCandidates/interface/Photon.h" */
|
125 |
|
|
/* #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h" */
|
126 |
|
|
/* #include "DataFormats/EgammaCandidates/interface/GsfElectron.h" */
|
127 |
|
|
/* #include "DataFormats/GsfTrackReco/interface/GsfTrackFwd.h" */
|
128 |
|
|
/* #include "DataFormats/GsfTrackReco/interface/GsfTrack.h" */
|
129 |
|
|
|
130 |
|
|
|
131 |
|
|
/* //PU */
|
132 |
|
|
/* #include "SimDataFormats/PileupSummaryInfo/interface/PileupSummaryInfo.h" */
|
133 |
|
|
|
134 |
|
|
/* //Jet */
|
135 |
|
|
/* #include "DataFormats/JetReco/interface/Jet.h" */
|
136 |
|
|
/* #include "DataFormats/JetReco/interface/CaloJetCollection.h" */
|
137 |
|
|
/* #include "DataFormats/JetReco/interface/GenJet.h" */
|
138 |
|
|
/* #include "RecoJets/JetProducers/interface/JetIDHelper.h" */
|
139 |
|
|
/* #include "JetMETCorrections/Objects/interface/JetCorrector.h" */
|
140 |
|
|
/* #include "DataFormats/JetReco/interface/PFJetCollection.h" */
|
141 |
|
|
|
142 |
|
|
|
143 |
|
|
/* ///CommonTools */
|
144 |
|
|
/* #include "CommonTools/Statistics/interface/ChiSquaredProbability.h" */
|
145 |
|
|
|
146 |
|
|
/* ///ROOT */
|
147 |
|
|
/* #include "TROOT.h" */
|
148 |
|
|
/* #include "TFile.h" */
|
149 |
|
|
/* #include "TTree.h" */
|
150 |
|
|
/* #include "TBranch.h" */
|
151 |
|
|
/* #include "TLorentzVector.h" */
|
152 |
|
|
/* #include "TClonesArray.h" */
|
153 |
|
|
|
154 |
|
|
/* #include "TMatrixDSym.h" */
|
155 |
|
|
/* #include "TMatrixDSymEigen.h" */
|
156 |
|
|
/* #include "TVectorD.h" */
|
157 |
|
|
|
158 |
|
|
/* ///c++ */
|
159 |
|
|
/* #include <boost/foreach.hpp> */
|
160 |
|
|
/* #include <vector> */
|
161 |
|
|
/* #include <ext/algorithm> */
|
162 |
|
|
/* #include <numeric> */
|
163 |
|
|
/* #include <iterator> */
|
164 |
|
|
/* #include <algorithm> */
|
165 |
|
|
|
166 |
|
|
|
167 |
|
|
/* using namespace std; */
|
168 |
|
|
/* using namespace edm; */
|
169 |
|
|
|
170 |
|
|
|
171 |
|
|
/* class RecoAnalyzer : public edm::EDAnalyzer { */
|
172 |
|
|
/* public: */
|
173 |
|
|
/* explicit RecoAnalyzer(const edm::ParameterSet&); */
|
174 |
|
|
/* ~RecoAnalyzer(); */
|
175 |
|
|
|
176 |
|
|
/* static void fillDescriptions(edm::ConfigurationDescriptions& descriptions); */
|
177 |
|
|
|
178 |
|
|
|
179 |
|
|
|
180 |
|
|
|
181 |
|
|
/* private: */
|
182 |
|
|
/* virtual void beginJob() ; */
|
183 |
|
|
/* virtual void analyze(const edm::Event&, const edm::EventSetup&); */
|
184 |
|
|
/* virtual void endJob() ; */
|
185 |
|
|
|
186 |
|
|
/* virtual void beginRun(edm::Run const&, edm::EventSetup const&); */
|
187 |
|
|
/* virtual void endRun(edm::Run const&, edm::EventSetup const&); */
|
188 |
|
|
/* virtual void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); */
|
189 |
|
|
/* virtual void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&); */
|
190 |
|
|
|
191 |
|
|
/* // ----------member data --------------------------- */
|
192 |
|
|
/* double DeltaPhi(double v1, double v2); */
|
193 |
|
|
/* double GetDeltaR(double eta1, double eta2, double phi1, double phi2); */
|
194 |
|
|
/* int indexofParticle(float px, float pz, int status); */
|
195 |
|
|
/* int getMotherIndex(int ); */
|
196 |
|
|
/* void MatchToGenMuon(float eta, float phi, float res[]); */
|
197 |
|
|
/* void MatchToGenElectron(float eta, float phi, float res[]); */
|
198 |
|
|
/* void MatchToGenPhoton(float eta, float phi, float res[]); */
|
199 |
|
|
/* int partonMatchingAlgo(float,float,float); */
|
200 |
|
|
/* int partonMatchingPhys(float,float); */
|
201 |
|
|
/* int findIndexofSC(float en,float eta,float phi); */
|
202 |
|
|
/* int findIndexofTRK(float, float, float); */
|
203 |
|
|
/* double mye2overe9( const DetId id, const EcalRecHitCollection & recHits); */
|
204 |
|
|
/* float recHitE( const DetId id, const EcalRecHitCollection &recHits ); */
|
205 |
|
|
/* float recHitE( const DetId id, const EcalRecHitCollection & recHits,int di, int dj ); */
|
206 |
|
|
/* float recHitApproxEt( const DetId id, const EcalRecHitCollection &recHits ); */
|
207 |
|
|
/* TLorentzVector photonp4wrtvertex(int, int); */
|
208 |
|
|
/* double etaTransformation( float EtaParticle , float Zvertex); */
|
209 |
|
|
/* int matchPhotonToConversion( int lpho); */
|
210 |
|
|
/* void higgsVertexAnalysis(int, int); */
|
211 |
|
|
/* double HggVertexFromConversionsvtxZ(int j); */
|
212 |
|
|
/* double HggVertexFromConversionsvtxdZ(int j); */
|
213 |
|
|
/* bool filter(const edm::Event& iEvent, const edm::EventSetup& iSetup); */
|
214 |
|
|
|
215 |
|
|
/* struct LessById { */
|
216 |
|
|
/* bool operator()(const SimTrack &tk1, const SimTrack &tk2) const { return tk1.trackId() < tk2.trackId(); } */
|
217 |
|
|
/* bool operator()(const SimTrack &tk1, unsigned int id ) const { return tk1.trackId() < id; } */
|
218 |
|
|
/* bool operator()(unsigned int id, const SimTrack &tk2) const { return id < tk2.trackId(); } */
|
219 |
|
|
/* }; */
|
220 |
|
|
|
221 |
|
|
|
222 |
|
|
/* edm::InputTag trigResultTag_; */
|
223 |
|
|
/* edm::InputTag trigSummaryTag_; */
|
224 |
|
|
/* int debug_; */
|
225 |
|
|
/* HLTConfigProvider configProvider; */
|
226 |
|
|
|
227 |
|
|
|
228 |
|
|
|
229 |
|
|
/* ///all inuptTag start with "m_xxx" */
|
230 |
|
|
/* edm::InputTag m_vertexSrc; //offlinePV */
|
231 |
|
|
/* edm::InputTag m_vertexSrc2; //offlinwPVwithBS */
|
232 |
|
|
/* edm::InputTag m_tracksSrc; ///general track */
|
233 |
|
|
/* edm::InputTag m_beamSpot; ///beamSpot */
|
234 |
|
|
/* edm::InputTag m_muonSrc; ///muon */
|
235 |
|
|
/* edm::InputTag m_ecalRecHitBarrel; //ecalrechit barrel */
|
236 |
|
|
/* edm::InputTag m_ecalRecHitEndcap; //endcap */
|
237 |
|
|
|
238 |
|
|
/* edm::InputTag m_barrelSC; */
|
239 |
|
|
/* edm::InputTag m_endcapSC; */
|
240 |
|
|
/* edm::InputTag m_photonSrc; */
|
241 |
|
|
/* edm::InputTag m_electronSrc; */
|
242 |
|
|
/* edm::InputTag m_PileupSrc; */
|
243 |
|
|
/* edm::InputTag m_rhoCollection; */
|
244 |
|
|
/* edm::InputTag m_rhoCollection2; */
|
245 |
|
|
/* edm::InputTag m_allConversionsColl; */
|
246 |
|
|
/* edm::InputTag m_l1GtRecordInputTag; */
|
247 |
|
|
/* edm::InputTag m_l1IsolatedTag; */
|
248 |
|
|
/* edm::InputTag m_l1NonIsolatedTag; */
|
249 |
|
|
/* edm::InputTag m_l1MuTag; */
|
250 |
|
|
|
251 |
|
|
|
252 |
|
|
/* InputTag muIsoTrkMap_; */
|
253 |
|
|
/* InputTag muIsoEcalMap_; */
|
254 |
|
|
/* InputTag muIsoHcalMap_; */
|
255 |
|
|
/* InputTag muIsoHoMap_; */
|
256 |
|
|
|
257 |
|
|
/* bool m_dataFormat; */
|
258 |
|
|
|
259 |
|
|
|
260 |
|
|
/* //OUTPUT */
|
261 |
|
|
/* TFile* rootFile_; */
|
262 |
|
|
/* TTree *Analysis; */
|
263 |
|
|
/* std::string outputFile_; */
|
264 |
|
|
|
265 |
|
|
|
266 |
|
|
|
267 |
|
|
|
268 |
|
|
//Event info
|
269 |
|
|
int lumiBlock;
|
270 |
|
|
int runNumber;
|
271 |
|
|
int evtNumber;
|
272 |
|
|
int bunchX;
|
273 |
|
|
int orbitNumber;
|
274 |
|
|
int evtTime;
|
275 |
|
|
int isRealData;
|
276 |
|
|
|
277 |
|
|
//HLT
|
278 |
|
|
static const int MAXHLTbits = 500;
|
279 |
|
|
|
280 |
|
|
|
281 |
|
|
static const int MAX_HLT = 5000;
|
282 |
|
|
|
283 |
|
|
std::vector<unsigned short>* hlt_bitFired;
|
284 |
|
|
|
285 |
|
|
// MAX_HLT hlt objects pt/eta/phi/energy
|
286 |
|
|
|
287 |
|
|
//Int_t hlt_n;
|
288 |
|
|
//float hlt_pt[MAX_HLT];
|
289 |
|
|
//float hlt_eta[MAX_HLT];
|
290 |
|
|
//float hlt_phi[MAX_HLT];
|
291 |
|
|
//float hlt_en[MAX_HLT];
|
292 |
|
|
|
293 |
|
|
vector<float> *hlt_pt;
|
294 |
|
|
vector<float> *hlt_eta;
|
295 |
|
|
vector<float> *hlt_phi;
|
296 |
|
|
vector<float> *hlt_en;
|
297 |
|
|
|
298 |
|
|
|
299 |
|
|
|
300 |
|
|
std::vector<std::vector<unsigned short> >* hlt_candpath;
|
301 |
|
|
std::vector<std::vector<unsigned short> >* hltfilter_candpath;
|
302 |
|
|
std::vector<std::string> *hlt_pathName;
|
303 |
|
|
std::vector<std::string> *hlt_path_names_HLT2;
|
304 |
|
|
///std::vector<edm::InputTag> theHLTLabels;
|
305 |
|
|
TClonesArray* hlt_p4;
|
306 |
|
|
|
307 |
|
|
|
308 |
|
|
|
309 |
|
|
|
310 |
|
|
std::vector<std::string> *hlt_label_names;
|
311 |
|
|
|
312 |
|
|
static const int MAXSC= 300;
|
313 |
|
|
int nSC;
|
314 |
|
|
float ptSC[MAXSC];
|
315 |
|
|
float eSC[MAXSC];
|
316 |
|
|
float eRawSC[MAXSC];
|
317 |
|
|
float etaSC[MAXSC];
|
318 |
|
|
float phiSC[MAXSC];
|
319 |
|
|
int flagSC[MAXSC];
|
320 |
|
|
|
321 |
|
|
///anlaysis objects
|
322 |
|
|
|
323 |
|
|
static const int nPhotonMAX = 100;
|
324 |
|
|
int nPhoton;
|
325 |
|
|
float photonsigmaIetaIeta[nPhotonMAX];
|
326 |
|
|
int photonhasPixelSeed[nPhotonMAX];
|
327 |
|
|
float photonenergy[nPhotonMAX];
|
328 |
|
|
float photonpt[nPhotonMAX];
|
329 |
|
|
float photoneta[nPhotonMAX];
|
330 |
|
|
float photonphi[nPhotonMAX];
|
331 |
|
|
float photonvertexx[nPhotonMAX];
|
332 |
|
|
float photonvertexy[nPhotonMAX];
|
333 |
|
|
float photonvertexz[nPhotonMAX];
|
334 |
|
|
int photonhasConversionTracks[nPhotonMAX];
|
335 |
|
|
float photonscrawEnergy[nPhotonMAX];
|
336 |
|
|
float photonsceta[nPhotonMAX];
|
337 |
|
|
float photonscphi[nPhotonMAX];
|
338 |
|
|
float photoncaloPositionx[nPhotonMAX];
|
339 |
|
|
float photoncaloPositiony[nPhotonMAX];
|
340 |
|
|
float photoncaloPositionz[nPhotonMAX];
|
341 |
|
|
float photonscenergy[nPhotonMAX];
|
342 |
|
|
float photone3x3[nPhotonMAX];
|
343 |
|
|
float photone1x5[nPhotonMAX];
|
344 |
|
|
float photone2x5[nPhotonMAX];
|
345 |
|
|
float photone5x5[nPhotonMAX];
|
346 |
|
|
float photonmaxEnergyXtal[nPhotonMAX];
|
347 |
|
|
float photonr9[nPhotonMAX];
|
348 |
|
|
|
349 |
|
|
|
350 |
|
|
|
351 |
|
|
//more
|
352 |
|
|
float photonscpreshowerEnergy[nPhotonMAX];
|
353 |
|
|
float photonscphiWidth[nPhotonMAX];
|
354 |
|
|
float photonscetaWidth[nPhotonMAX];
|
355 |
|
|
int photonscclusterSize[nPhotonMAX];
|
356 |
|
|
std::vector<std::vector<float> >* photonscbclusterenergy;
|
357 |
|
|
|
358 |
|
|
int photonscnhits[nPhotonMAX];
|
359 |
|
|
float photoneLeft[nPhotonMAX];
|
360 |
|
|
float photoneRight[nPhotonMAX];
|
361 |
|
|
float photoneBottom[nPhotonMAX];
|
362 |
|
|
float photoneTop[nPhotonMAX];
|
363 |
|
|
|
364 |
|
|
float photone1x3[nPhotonMAX];
|
365 |
|
|
float photone3x1[nPhotonMAX];
|
366 |
|
|
float photone2x2[nPhotonMAX];
|
367 |
|
|
float photone3x2[nPhotonMAX];
|
368 |
|
|
float photone4x4[nPhotonMAX];
|
369 |
|
|
float photone2x5Right[nPhotonMAX];
|
370 |
|
|
float photone2x5Left[nPhotonMAX];
|
371 |
|
|
float photone2x5Top[nPhotonMAX];
|
372 |
|
|
float photone2x5Bottom[nPhotonMAX];
|
373 |
|
|
float photone2x5Max[nPhotonMAX];
|
374 |
|
|
///float photonenergyBasketFractionEta[nPhotonMAX];
|
375 |
|
|
//float photonenergyBasketFractionPhi[nPhotonMAX];
|
376 |
|
|
|
377 |
|
|
float photonlat[nPhotonMAX][3];
|
378 |
|
|
float photonCovEtaEta[nPhotonMAX];
|
379 |
|
|
float photonCovEtaPhi[nPhotonMAX];
|
380 |
|
|
float photonCovPhiPhi[nPhotonMAX];
|
381 |
|
|
|
382 |
|
|
float photonCovIEtaIEta[nPhotonMAX];
|
383 |
|
|
float photonCovIEtaIPhi[nPhotonMAX];
|
384 |
|
|
float photonCovIPhiIPhi[nPhotonMAX];
|
385 |
|
|
float photonscCovIEtaIEta[nPhotonMAX];
|
386 |
|
|
float photonscCovIEtaIPhi[nPhotonMAX];
|
387 |
|
|
float photonscCovIPhiIPhi[nPhotonMAX];
|
388 |
|
|
float photonzernike20[nPhotonMAX];
|
389 |
|
|
float photonzernike42[nPhotonMAX];
|
390 |
|
|
|
391 |
|
|
|
392 |
|
|
|
393 |
|
|
|
394 |
|
|
|
395 |
|
|
//isolation
|
396 |
|
|
float photonhadronicOverEm[nPhotonMAX];
|
397 |
|
|
float photonecalRecHitSumEtConeDR03[nPhotonMAX];
|
398 |
|
|
float photonhcalDepth1TowerSumEtConeDR03[nPhotonMAX];
|
399 |
|
|
float photonhcalDepth2TowerSumEtConeDR03[nPhotonMAX];
|
400 |
|
|
float photonhcalTowerSumEtConeDR03[nPhotonMAX];
|
401 |
|
|
float photontrkSumPtHollowConeDR03[nPhotonMAX];
|
402 |
|
|
float photontrkSumPtSolidConeDR03[nPhotonMAX];
|
403 |
|
|
int photonnTrkHollowConeDR03[nPhotonMAX];
|
404 |
|
|
int photonnTrkSolidConeDR03[nPhotonMAX];
|
405 |
|
|
float photonecalRecHitSumEtConeDR04[nPhotonMAX];
|
406 |
|
|
float photonhcalDepth1TowerSumEtConeDR04[nPhotonMAX];
|
407 |
|
|
float photonhcalDepth2TowerSumEtConeDR04[nPhotonMAX];
|
408 |
|
|
float photonhcalTowerSumEtConeDR04[nPhotonMAX];
|
409 |
|
|
float photontrkSumPtHollowConeDR04[nPhotonMAX];
|
410 |
|
|
float photontrkSumPtSolidConeDR04[nPhotonMAX];
|
411 |
|
|
int photonnTrkHollowConeDR04[nPhotonMAX];
|
412 |
|
|
int photonnTrkSolidConeDR04[nPhotonMAX];
|
413 |
|
|
|
414 |
|
|
int photonconversionsize[nPhotonMAX];
|
415 |
|
|
float photonconversionVertexx[nPhotonMAX];
|
416 |
|
|
float photonconversionVertexy[nPhotonMAX];
|
417 |
|
|
float photonconversionVertexz[nPhotonMAX];
|
418 |
|
|
float photonconversionrefittedPairMomentumx[nPhotonMAX];
|
419 |
|
|
float photonconversionrefittedPairMomentumy[nPhotonMAX];
|
420 |
|
|
float photonconversionrefittedPairMomentumz[nPhotonMAX];
|
421 |
|
|
|
422 |
|
|
float photonconversionpairInvariantMass[nPhotonMAX];
|
423 |
|
|
float photonconversionpairCotThetaSeparation[nPhotonMAX];
|
424 |
|
|
float photonconversionEoverPrefittedTracks[nPhotonMAX];
|
425 |
|
|
float photonconversionzOfPrimaryVertexFromTracks[nPhotonMAX];
|
426 |
|
|
float photonconversiondistOfMinimumApproach[nPhotonMAX];
|
427 |
|
|
float photonconversiondPhiTracksAtVtx[nPhotonMAX];
|
428 |
|
|
float photonconversiondPhiTracksAtEcal[nPhotonMAX];
|
429 |
|
|
float photonconversiondEtaTracksAtEcal[nPhotonMAX];
|
430 |
|
|
int photonconversionnTracks[nPhotonMAX];
|
431 |
|
|
float photonconversionMVAout[nPhotonMAX];
|
432 |
|
|
int photonconversionVertexisValid[nPhotonMAX];
|
433 |
|
|
float photonconversionVertexchi2[nPhotonMAX];
|
434 |
|
|
float photonconversionChiSquaredProbability[nPhotonMAX];
|
435 |
|
|
float photonconversion_track1_dz[nPhotonMAX];
|
436 |
|
|
float photonconversion_track1_dzError[nPhotonMAX];
|
437 |
|
|
int photonconversion_track1_charge[nPhotonMAX];
|
438 |
|
|
float photonconversion_track1_d0[nPhotonMAX];
|
439 |
|
|
float photonconversion_track1_tracksPout[nPhotonMAX];
|
440 |
|
|
float photonconversion_track1_tracksPin[nPhotonMAX];
|
441 |
|
|
int photonconversion_track1_algo[nPhotonMAX];
|
442 |
|
|
float photonconversion_track2_dz[nPhotonMAX];
|
443 |
|
|
float photonconversion_track2_dzError[nPhotonMAX];
|
444 |
|
|
int photonconversion_track2_charge[nPhotonMAX];
|
445 |
|
|
int photonconversion_track2_algo[nPhotonMAX];
|
446 |
|
|
float photonconversion_track2_d0[nPhotonMAX];
|
447 |
|
|
float photonconversion_track2_tracksPout[nPhotonMAX];
|
448 |
|
|
float photonconversion_track2_tracksPin[nPhotonMAX];
|
449 |
|
|
|
450 |
|
|
|
451 |
|
|
|
452 |
|
|
float photonseedtime[nPhotonMAX];
|
453 |
|
|
float photonseedoutOfTimeChi2[nPhotonMAX];
|
454 |
|
|
float photonseedchi2[nPhotonMAX];
|
455 |
|
|
int photonseedrecoFlag[nPhotonMAX];
|
456 |
|
|
int photonseedseverityLevel[nPhotonMAX];
|
457 |
|
|
int photonfiducialFlag[nPhotonMAX];
|
458 |
|
|
int photonscindex[nPhotonMAX];
|
459 |
|
|
float photonswissCross[nPhotonMAX];
|
460 |
|
|
int photonieta[nPhotonMAX];
|
461 |
|
|
int photoniphi[nPhotonMAX];
|
462 |
|
|
|
463 |
|
|
float photonE2overE9[nPhotonMAX];
|
464 |
|
|
int photonmatchToallConv[nPhotonMAX];
|
465 |
|
|
|
466 |
|
|
float photongenphtmatch[nPhotonMAX][3];
|
467 |
|
|
float photongenelematch[nPhotonMAX][3];
|
468 |
|
|
float photongenphtconv[nPhotonMAX][4];
|
469 |
|
|
float photonPartonmatch[nPhotonMAX][6];
|
470 |
|
|
float photonPartonmatchp[nPhotonMAX][3];
|
471 |
|
|
|
472 |
|
|
int photonhasMatchedPromptElectron[nPhotonMAX];
|
473 |
|
|
|
474 |
|
|
|
475 |
|
|
TClonesArray *photonp4;
|
476 |
|
|
|
477 |
|
|
int nEventsProcessed;
|
478 |
|
|
|
479 |
|
|
float genhiggsm;
|
480 |
|
|
float genhiggspt;
|
481 |
|
|
float genhiggseta;
|
482 |
|
|
float genhiggsphi;
|
483 |
|
|
int genhiggsstatus;
|
484 |
|
|
float genhiggsvx;
|
485 |
|
|
float genhiggsvy;
|
486 |
|
|
float genhiggsvz;
|
487 |
|
|
|
488 |
|
|
|
489 |
|
|
static const int nConvMAX = 1000;
|
490 |
|
|
int nConv;
|
491 |
|
|
float convrefittedPair4Momentumeta[nConvMAX];
|
492 |
|
|
float convrefittedPair4Momentumphi[nConvMAX];
|
493 |
|
|
float convrefittedPair4Momentumpt[nConvMAX];
|
494 |
|
|
float convrefittedPair4Momentumenergy[nConvMAX];
|
495 |
|
|
int convnTracks[nConvMAX];
|
496 |
|
|
int convcaloClustersize[nConvMAX];
|
497 |
|
|
float convcaloCluster0eta[nConvMAX];
|
498 |
|
|
float convcaloCluster0x[nConvMAX];
|
499 |
|
|
float convcaloCluster0y[nConvMAX];
|
500 |
|
|
float convcaloCluster0z[nConvMAX];
|
501 |
|
|
float convcaloCluster0phi[nConvMAX];
|
502 |
|
|
int convconversionVertexisValid[nConvMAX];
|
503 |
|
|
float convpairMomentumx[nConvMAX];
|
504 |
|
|
float convpairMomentumy[nConvMAX];
|
505 |
|
|
float convpairMomentumz[nConvMAX];
|
506 |
|
|
float convrefittedPairMomentumx[nConvMAX];
|
507 |
|
|
float convrefittedPairMomentumy[nConvMAX];
|
508 |
|
|
float convrefittedPairMomentumz[nConvMAX];
|
509 |
|
|
float convconversionVertexx[nConvMAX];
|
510 |
|
|
float convconversionVertexy[nConvMAX];
|
511 |
|
|
float convconversionVertexz[nConvMAX];
|
512 |
|
|
float convconversionVertexchi2[nConvMAX];
|
513 |
|
|
float convconversionVertexChiSquaredProbability[nConvMAX];
|
514 |
|
|
float convconversionVertexxError[nConvMAX];
|
515 |
|
|
float convconversionVertexyError[nConvMAX];
|
516 |
|
|
float convconversionVertexzError[nConvMAX];
|
517 |
|
|
float convconversionVertexnTracks[nConvMAX];
|
518 |
|
|
float convconversionVertexMVAout[nConvMAX];
|
519 |
|
|
float conv_track1_dz[nConvMAX];
|
520 |
|
|
float conv_track1_dzError[nConvMAX];
|
521 |
|
|
int conv_track1_charge[nConvMAX];
|
522 |
|
|
int conv_track1_algo[nConvMAX];
|
523 |
|
|
|
524 |
|
|
float conv_track2_dz[nConvMAX];
|
525 |
|
|
float conv_track2_dzError[nConvMAX];
|
526 |
|
|
int conv_track2_charge[nConvMAX];
|
527 |
|
|
int conv_track2_algo[nConvMAX];
|
528 |
|
|
|
529 |
|
|
float convpairInvariantMass[nConvMAX];
|
530 |
|
|
float convpairCotThetaSeparation[nConvMAX];
|
531 |
|
|
// will work in 420 conv_eoverp[nConvMAX]=localConv.EoverPrefittedTracks();
|
532 |
|
|
float convEoverPrefittedTracks[nConvMAX];
|
533 |
|
|
float convzOfPrimaryVertexFromTracks[nConvMAX];
|
534 |
|
|
float convdistOfMinimumApproach[nConvMAX];
|
535 |
|
|
float convdPhiTracksAtVtx[nConvMAX];
|
536 |
|
|
float convdPhiTracksAtEcal[nConvMAX];
|
537 |
|
|
float convdEtaTracksAtEcal[nConvMAX];
|
538 |
|
|
|
539 |
|
|
int convnSharedHits[nConvMAX];
|
540 |
|
|
float conv_track1_d0[nConvMAX];
|
541 |
|
|
float conv_track1_pout[nConvMAX];
|
542 |
|
|
float conv_track1_pin[nConvMAX];
|
543 |
|
|
float conv_track2_d0[nConvMAX];
|
544 |
|
|
float conv_track2_pout[nConvMAX];
|
545 |
|
|
float conv_track2_pin[nConvMAX];
|
546 |
|
|
|
547 |
|
|
float conv_track1_pt[nConvMAX];
|
548 |
|
|
float conv_track1_eta[nConvMAX];
|
549 |
|
|
float conv_track1_phi[nConvMAX];
|
550 |
|
|
float conv_track2_pt[nConvMAX];
|
551 |
|
|
float conv_track2_eta[nConvMAX];
|
552 |
|
|
float conv_track2_phi[nConvMAX];
|
553 |
|
|
|
554 |
|
|
|
555 |
|
|
|
556 |
|
|
std::vector<std::vector<unsigned short> >* convnHitsBeforeVtx;
|
557 |
|
|
|
558 |
|
|
|
559 |
|
|
int nElectron;
|
560 |
|
|
static const int nElectronMAX = 100;
|
561 |
|
|
|
562 |
|
|
float electronpt[nElectronMAX];
|
563 |
|
|
float electroneta[nElectronMAX];
|
564 |
|
|
float electronphi[nElectronMAX];
|
565 |
|
|
int electroncharge[nElectronMAX];
|
566 |
|
|
float electronvertexx[nElectronMAX];
|
567 |
|
|
float electronvertexy[nElectronMAX];
|
568 |
|
|
float electronvertexz[nElectronMAX];
|
569 |
|
|
float electronscrawEnergy[nElectronMAX];
|
570 |
|
|
float electronsceta[nElectronMAX];
|
571 |
|
|
float electronscphi[nElectronMAX];
|
572 |
|
|
float electroncaloPositionx[nElectronMAX];
|
573 |
|
|
float electroncaloPositiony[nElectronMAX];
|
574 |
|
|
float electroncaloPositionz[nElectronMAX];
|
575 |
|
|
|
576 |
|
|
float electronscpreshowerEnergy[nElectronMAX];
|
577 |
|
|
float electronscphiWidth[nElectronMAX];
|
578 |
|
|
float electronscetaWidth[nElectronMAX];
|
579 |
|
|
int electronscclusterSize[nElectronMAX];
|
580 |
|
|
std::vector<std::vector<float> >* electronscbclusterenergy;
|
581 |
|
|
|
582 |
|
|
std::vector<std::vector<float> >* electronscrechitenergy;
|
583 |
|
|
std::vector<std::vector<float> >* electronscrechitfraction;
|
584 |
|
|
std::vector<std::vector<float> >* electronscrechitlaserCorr;
|
585 |
|
|
std::vector<std::vector<short> >* electronscrechitieta;
|
586 |
|
|
std::vector<std::vector<short> >* electronscrechitiphi;
|
587 |
|
|
|
588 |
|
|
|
589 |
|
|
int electronscnhits[nElectronMAX];
|
590 |
|
|
float electroneLeft[nElectronMAX];
|
591 |
|
|
float electroneRight[nElectronMAX];
|
592 |
|
|
float electroneBottom[nElectronMAX];
|
593 |
|
|
float electroneTop[nElectronMAX];
|
594 |
|
|
|
595 |
|
|
float electrone1x3[nElectronMAX];
|
596 |
|
|
float electrone3x1[nElectronMAX];
|
597 |
|
|
float electrone2x2[nElectronMAX];
|
598 |
|
|
float electrone3x2[nElectronMAX];
|
599 |
|
|
float electrone4x4[nElectronMAX];
|
600 |
|
|
float electrone2x5Right[nElectronMAX];
|
601 |
|
|
float electrone2x5Left[nElectronMAX];
|
602 |
|
|
float electrone2x5Top[nElectronMAX];
|
603 |
|
|
float electrone2x5Bottom[nElectronMAX];
|
604 |
|
|
///float electrone2x5Max[nElectronMAX];
|
605 |
|
|
///float electronenergyBasketFractionEta[nElectronMAX];
|
606 |
|
|
//float electronenergyBasketFractionPhi[nElectronMAX];
|
607 |
|
|
float electronlat[nElectronMAX][3];
|
608 |
|
|
float electronCovEtaEta[nElectronMAX];
|
609 |
|
|
float electronCovEtaPhi[nElectronMAX];
|
610 |
|
|
float electronCovPhiPhi[nElectronMAX];
|
611 |
|
|
|
612 |
|
|
float electronCovIEtaIEta[nElectronMAX];
|
613 |
|
|
float electronCovIEtaIPhi[nElectronMAX];
|
614 |
|
|
float electronCovIPhiIPhi[nElectronMAX];
|
615 |
|
|
float electronscCovIEtaIEta[nElectronMAX];
|
616 |
|
|
float electronscCovIEtaIPhi[nElectronMAX];
|
617 |
|
|
float electronscCovIPhiIPhi[nElectronMAX];
|
618 |
|
|
float electronzernike20[nElectronMAX];
|
619 |
|
|
float electronzernike42[nElectronMAX];
|
620 |
|
|
|
621 |
|
|
|
622 |
|
|
|
623 |
|
|
float electronscenergy[nElectronMAX];
|
624 |
|
|
int electronfiduficalFlag[nElectronMAX];
|
625 |
|
|
int electrontrackerDrivenSeed[nElectronMAX];
|
626 |
|
|
int electronecalDrivenSeed[nElectronMAX];
|
627 |
|
|
float electronfbrem[nElectronMAX];
|
628 |
|
|
int electronnumberOfBrems[nElectronMAX];
|
629 |
|
|
float electrondr03TkSumPt[nElectronMAX];
|
630 |
|
|
float electrondr03EcalRecHitSumEt[nElectronMAX];
|
631 |
|
|
float electrondr03HcalDepth1TowerSumEt[nElectronMAX];
|
632 |
|
|
float electrondr03HcalDepth2TowerSumEt[nElectronMAX];
|
633 |
|
|
float electrondr03HcalTowerSumEt[nElectronMAX];
|
634 |
|
|
float electrondr04EcalRecHitSumEt[nElectronMAX];
|
635 |
|
|
float electrondr04HcalDepth1TowerSumEt[nElectronMAX];
|
636 |
|
|
float electrondr04HcalDepth2TowerSumEt[nElectronMAX];
|
637 |
|
|
float electrondr04HcalTowerSumEt[nElectronMAX];
|
638 |
|
|
float electrondr04TkSumPt[nElectronMAX];
|
639 |
|
|
float electronhcalDepth1OverEcal[nElectronMAX];
|
640 |
|
|
float electronhcalDepth2OverEcal[nElectronMAX];
|
641 |
|
|
float electronhcalOverEcal[nElectronMAX];
|
642 |
|
|
float electroneSuperClusterOverP[nElectronMAX];
|
643 |
|
|
float electroneSeedClusterOverP[nElectronMAX];
|
644 |
|
|
float electroneSeedClusterOverPout[nElectronMAX];
|
645 |
|
|
float electroneEleClusterOverPout[nElectronMAX];
|
646 |
|
|
float electrondeltaEtaSuperClusterTrackAtVtx[nElectronMAX];
|
647 |
|
|
float electrondeltaEtaSeedClusterTrackAtCalo[nElectronMAX];
|
648 |
|
|
float electrondeltaEtaEleClusterTrackAtCalo[nElectronMAX];
|
649 |
|
|
float electrondeltaPhiSuperClusterTrackAtVtx[nElectronMAX];
|
650 |
|
|
float electrondeltaPhiSeedClusterTrackAtCalo[nElectronMAX];
|
651 |
|
|
float electrondeltaPhiEleClusterTrackAtCalo[nElectronMAX];
|
652 |
|
|
int electronclassification[nElectronMAX];
|
653 |
|
|
float electronmva[nElectronMAX];
|
654 |
|
|
int electronnumberOfTracks[nElectronMAX];
|
655 |
|
|
float electronconvDist[nElectronMAX];
|
656 |
|
|
float electronconvDcot[nElectronMAX];
|
657 |
|
|
float electronconvRadius[nElectronMAX];
|
658 |
|
|
int electronconvFlags[nElectronMAX];
|
659 |
|
|
|
660 |
|
|
// int electronExpectednumberOfHits[nElectronMAX];
|
661 |
|
|
int electronExpectedHitsInnernumberOfHits[nElectronMAX];
|
662 |
|
|
int electronExpectedHitsOuternumberOfHits[nElectronMAX];
|
663 |
|
|
|
664 |
|
|
float electrongsfTrackvx[nElectronMAX];
|
665 |
|
|
float electrongsfTrackvy[nElectronMAX];
|
666 |
|
|
float electrongsfTrackvz[nElectronMAX];
|
667 |
|
|
float electrongsfTracknormalizedChi2[nElectronMAX];
|
668 |
|
|
float electrongsfTrackdxybeamSpot[nElectronMAX];
|
669 |
|
|
float electrongsfTrackdzbeamSpot[nElectronMAX];
|
670 |
|
|
int electrongsfTracknumberOfValidHits[nElectronMAX];
|
671 |
|
|
int electrongsfTracknumberOfLostHits[nElectronMAX];
|
672 |
|
|
int electrongsfTracknumberOfValidPixelHits[nElectronMAX];
|
673 |
|
|
int electrongsfTracknumberOfValidTrackerHits[nElectronMAX];
|
674 |
|
|
float electrongsfTrackpt[nElectronMAX];
|
675 |
|
|
float electrongsfTracketa[nElectronMAX];
|
676 |
|
|
float electrongsfTrackphi[nElectronMAX];
|
677 |
|
|
|
678 |
|
|
float electronseedtime[nElectronMAX];
|
679 |
|
|
float electronseedoutOfTimeChi2[nElectronMAX];
|
680 |
|
|
float electronseedchi2[nElectronMAX];
|
681 |
|
|
int electronseedrecoFlag[nElectronMAX];
|
682 |
|
|
int electronseedseverityLevel[nElectronMAX];
|
683 |
|
|
float electronseedlaserCorr[nElectronMAX];
|
684 |
|
|
|
685 |
|
|
|
686 |
|
|
float electrone1x5[nElectronMAX];
|
687 |
|
|
float electrone2x5Max[nElectronMAX];
|
688 |
|
|
float electrone5x5[nElectronMAX];
|
689 |
|
|
float electronsigmaIetaIeta[nElectronMAX];
|
690 |
|
|
float electrone3x3[nElectronMAX];
|
691 |
|
|
float electroneMax[nElectronMAX];
|
692 |
|
|
int electronscindex[nElectronMAX];
|
693 |
|
|
float electronswissCross[nElectronMAX];
|
694 |
|
|
int electronieta[nElectronMAX];
|
695 |
|
|
int electroniphi[nElectronMAX];
|
696 |
|
|
float electronE2overE9[nElectronMAX];
|
697 |
|
|
float electrongenelematch[nElectronMAX][4];
|
698 |
|
|
float electrongentrkmatch[nElectronMAX][4];
|
699 |
|
|
float electronsimelematch[nElectronMAX][7];
|
700 |
|
|
float electronPartonmatch[nElectronMAX][6];
|
701 |
|
|
|
702 |
|
|
|
703 |
|
|
static const int nMuonMAX = 50;
|
704 |
|
|
///muon
|
705 |
|
|
int nMuon;
|
706 |
|
|
TClonesArray *muonp4;
|
707 |
|
|
int muonRecoAlgo[nMuonMAX];
|
708 |
|
|
int muonisGoodMuon[nMuonMAX];
|
709 |
|
|
|
710 |
|
|
float muonpt[nMuonMAX];
|
711 |
|
|
int muoncharge[nMuonMAX];
|
712 |
|
|
float muoneta[nMuonMAX];
|
713 |
|
|
float muonphi[nMuonMAX];
|
714 |
|
|
|
715 |
|
|
float muonvx[nMuonMAX];
|
716 |
|
|
float muonvy[nMuonMAX];
|
717 |
|
|
float muonvz[nMuonMAX];
|
718 |
|
|
int muonnumberOfMatches[nMuonMAX];
|
719 |
|
|
int muonnumberOfChambers[nMuonMAX];
|
720 |
|
|
float muonglobalTrackvx[nMuonMAX];
|
721 |
|
|
float muonglobalTrackvy[nMuonMAX];
|
722 |
|
|
float muonglobalTrackvz[nMuonMAX];
|
723 |
|
|
float muonglobalTrackdzbeamSpot[nMuonMAX];
|
724 |
|
|
float muonglobalTrackdxybeamSpot[nMuonMAX];
|
725 |
|
|
int muonglobalTracknumberOfValidPixelHits[nMuonMAX];
|
726 |
|
|
int muonglobalTracknumberOfValidTrackerHits[nMuonMAX];
|
727 |
|
|
float muonglobalTracknormalizedChi2[nMuonMAX];
|
728 |
|
|
int muonglobalTracknumberOfValidMuonHits[nMuonMAX];
|
729 |
|
|
float muonisolationR03sumPt[nMuonMAX];
|
730 |
|
|
float muonisolationR03emEt[nMuonMAX];
|
731 |
|
|
float muonisolationR03hadEt[nMuonMAX];
|
732 |
|
|
float muonisolationR03hoEt[nMuonMAX];
|
733 |
|
|
float muonisolationR04sumPt[nMuonMAX];
|
734 |
|
|
float muonisolationR04emEt[nMuonMAX];
|
735 |
|
|
float muonisolationR04hadEt[nMuonMAX];
|
736 |
|
|
float muonisolationR04hoEt[nMuonMAX];
|
737 |
|
|
float muonisolationR05sumPt[nMuonMAX];
|
738 |
|
|
float muonisolationR05emEt[nMuonMAX];
|
739 |
|
|
float muonisolationR05hadEt[nMuonMAX];
|
740 |
|
|
float muonisolationR05hoEt[nMuonMAX];
|
741 |
|
|
float muonGenmumatch[nMuonMAX][4];
|
742 |
|
|
float muonGentrkmatch[nMuonMAX][4];
|
743 |
|
|
float muonSimmumatch[nMuonMAX][7];
|
744 |
|
|
float muonPartonmatch[nMuonMAX][6];
|
745 |
|
|
|
746 |
|
|
int muoninnerTracknumberOfValidPixelHits[nMuonMAX];
|
747 |
|
|
int muoninnerTracknumberOfValidTrackerHits[nMuonMAX];
|
748 |
|
|
float muoninnerTrackpt[nMuonMAX];
|
749 |
|
|
float muoninnerTracketa[nMuonMAX];
|
750 |
|
|
float muoninnerTrackphi[nMuonMAX];
|
751 |
|
|
|
752 |
|
|
int muonouterTracknumberOfValidMuonHits[nMuonMAX];
|
753 |
|
|
float muonouterTrackpt[nMuonMAX];
|
754 |
|
|
float muonouterTracketa[nMuonMAX];
|
755 |
|
|
float muonouterTrackphi[nMuonMAX];
|
756 |
|
|
|
757 |
|
|
//vertex
|
758 |
|
|
int nVertex;
|
759 |
|
|
static const int MAXVX = 100;
|
760 |
|
|
float vertexx[MAXVX];
|
761 |
|
|
float vertexy[MAXVX];
|
762 |
|
|
float vertexz[MAXVX];
|
763 |
|
|
float vertexchi2[MAXVX];
|
764 |
|
|
float vertexndof[MAXVX];
|
765 |
|
|
float vertexnormalizedChi2[MAXVX];
|
766 |
|
|
int vertextrackSize[MAXVX];
|
767 |
|
|
int vertexisFake[MAXVX];
|
768 |
|
|
int vertexisValid[MAXVX];
|
769 |
|
|
float vertexsumtrackspt[MAXVX];
|
770 |
|
|
float vertexsumtracksptSquare[MAXVX];
|
771 |
|
|
float vertexsumRefittedtrackspt[MAXVX];
|
772 |
|
|
float vertexsumRefittedtracksptSquare[MAXVX];
|
773 |
|
|
|
774 |
|
|
|
775 |
|
|
|
776 |
|
|
|
777 |
|
|
|
778 |
|
|
int nVertexNoBS;
|
779 |
|
|
/// static const int MAXVX = 100;
|
780 |
|
|
float vertexNoBSx[MAXVX];
|
781 |
|
|
float vertexNoBSy[MAXVX];
|
782 |
|
|
float vertexNoBSz[MAXVX];
|
783 |
|
|
float vertexNoBSchi2[MAXVX];
|
784 |
|
|
float vertexNoBSndof[MAXVX];
|
785 |
|
|
float vertexNoBSnormalizedChi2[MAXVX];
|
786 |
|
|
int vertexNoBStrackSize[MAXVX];
|
787 |
|
|
int vertexNoBSisFake[MAXVX];
|
788 |
|
|
int vertexNoBSisValid[MAXVX];
|
789 |
|
|
|
790 |
|
|
|
791 |
|
|
int phyDeclared;
|
792 |
|
|
|
793 |
|
|
|
794 |
|
|
|
795 |
|
|
float rho;
|
796 |
|
|
float rhoEtaMax44;
|
797 |
|
|
|
798 |
|
|
|
799 |
|
|
static const int nTrackMAX = 50000;
|
800 |
|
|
//track
|
801 |
|
|
int nTrack;
|
802 |
|
|
float trackhighPurityFraction;
|
803 |
|
|
float trackd0[nTrackMAX];
|
804 |
|
|
float trackd0Error[nTrackMAX];
|
805 |
|
|
float trackdz[nTrackMAX];
|
806 |
|
|
float trackdzError[nTrackMAX];
|
807 |
|
|
int trackcharge[nTrackMAX];
|
808 |
|
|
float trackpt[nTrackMAX];
|
809 |
|
|
float trackpx[nTrackMAX];
|
810 |
|
|
float trackpy[nTrackMAX];
|
811 |
|
|
float trackpz[nTrackMAX];
|
812 |
|
|
float trackptError[nTrackMAX];
|
813 |
|
|
float tracketa[nTrackMAX];
|
814 |
|
|
float trackphi[nTrackMAX];
|
815 |
|
|
float trackvx[nTrackMAX];
|
816 |
|
|
float trackvy[nTrackMAX];
|
817 |
|
|
float trackvz[nTrackMAX];
|
818 |
|
|
float tracknormalizedChi2[nTrackMAX];
|
819 |
|
|
int tracknumberOfValidHits[nTrackMAX];
|
820 |
|
|
int trackndof[nTrackMAX];
|
821 |
|
|
int tracknumberOfValidPixelHits[nTrackMAX];
|
822 |
|
|
int tracknumberOfValidStripHits[nTrackMAX];
|
823 |
|
|
int tracknumberOfValidTrackerHits[nTrackMAX];
|
824 |
|
|
int trackalgo[nTrackMAX];
|
825 |
|
|
int trackqualityFlagTracks[nTrackMAX];
|
826 |
|
|
|
827 |
|
|
|
828 |
|
|
///beamspont
|
829 |
|
|
float beamSpotX;
|
830 |
|
|
float beamSpotY;
|
831 |
|
|
float beamSpotZ;
|
832 |
|
|
|
833 |
|
|
|
834 |
|
|
////MET
|
835 |
|
|
float caloMETet;
|
836 |
|
|
float caloMETsumEt;
|
837 |
|
|
float caloMETphi;
|
838 |
|
|
float caloMETeta;
|
839 |
|
|
float caloMETsig;
|
840 |
|
|
|
841 |
|
|
|
842 |
|
|
float muCorrMETsumEt;
|
843 |
|
|
float muCorrMETet;
|
844 |
|
|
float muCorrMETphi;
|
845 |
|
|
float muCorrMETeta;
|
846 |
|
|
float muCorrMETsig;
|
847 |
|
|
|
848 |
|
|
|
849 |
|
|
float tcMETsumEt;
|
850 |
|
|
float tcMETet;
|
851 |
|
|
float tcMETphi;
|
852 |
|
|
float tcMETeta;
|
853 |
|
|
float tcMETsig;
|
854 |
|
|
|
855 |
|
|
|
856 |
|
|
float pfMETsumEt;
|
857 |
|
|
float pfMETet;
|
858 |
|
|
float pfMETphi;
|
859 |
|
|
float pfMETeta;
|
860 |
|
|
float pfMETsig;
|
861 |
|
|
|
862 |
|
|
|
863 |
|
|
|
864 |
|
|
std::vector<std::vector<short> >* vertex_trkind;
|
865 |
|
|
std::vector<std::vector<float> >* vertex_trkWeight;
|
866 |
|
|
|
867 |
|
|
|
868 |
|
|
|
869 |
|
|
|
870 |
|
|
|
871 |
|
|
static const int nCJetMAX = 50;
|
872 |
|
|
int nak5CaloJet;
|
873 |
|
|
|
874 |
|
|
float ak5CaloJetet[nCJetMAX];
|
875 |
|
|
float ak5CaloJeteta[nCJetMAX];
|
876 |
|
|
float ak5CaloJetphi[nCJetMAX];
|
877 |
|
|
float ak5CaloJetenergyFractionHadronic[nCJetMAX];
|
878 |
|
|
float ak5CaloJetn90[nCJetMAX];
|
879 |
|
|
float ak5CaloJetn60[nCJetMAX];
|
880 |
|
|
float ak5CaloJettowersArea[nCJetMAX];
|
881 |
|
|
int ak5CaloJetCalosize[nCJetMAX];
|
882 |
|
|
float ak5CaloJetfHPD[nCJetMAX];
|
883 |
|
|
float ak5CaloJetfRBX[nCJetMAX];
|
884 |
|
|
float ak5CaloJetn90Hits[nCJetMAX];
|
885 |
|
|
float ak5CaloJetrestrictedEMF[nCJetMAX];
|
886 |
|
|
float ak5CaloJetcorrection[nCJetMAX];
|
887 |
|
|
float ak5CaloJetPartonmatch[nCJetMAX][6];
|
888 |
|
|
float ak5CaloJetmaxEInEmTowers[nCJetMAX];
|
889 |
|
|
float ak5CaloJetmaxEInHadTowers[nCJetMAX];
|
890 |
|
|
|
891 |
|
|
|
892 |
|
|
int nak7CaloJet;
|
893 |
|
|
|
894 |
|
|
float ak7CaloJetet[nCJetMAX];
|
895 |
|
|
float ak7CaloJeteta[nCJetMAX];
|
896 |
|
|
float ak7CaloJetphi[nCJetMAX];
|
897 |
|
|
float ak7CaloJetenergyFractionHadronic[nCJetMAX];
|
898 |
|
|
float ak7CaloJetn90[nCJetMAX];
|
899 |
|
|
float ak7CaloJetn60[nCJetMAX];
|
900 |
|
|
float ak7CaloJettowersArea[nCJetMAX];
|
901 |
|
|
int ak7CaloJetCalosize[nCJetMAX];
|
902 |
|
|
float ak7CaloJetfHPD[nCJetMAX];
|
903 |
|
|
float ak7CaloJetfRBX[nCJetMAX];
|
904 |
|
|
float ak7CaloJetn90Hits[nCJetMAX];
|
905 |
|
|
float ak7CaloJetrestrictedEMF[nCJetMAX];
|
906 |
|
|
float ak7CaloJetcorrection[nCJetMAX];
|
907 |
|
|
float ak7CaloJetPartonmatch[nCJetMAX][6];
|
908 |
|
|
float ak7CaloJetmaxEInEmTowers[nCJetMAX];
|
909 |
|
|
float ak7CaloJetmaxEInHadTowers[nCJetMAX];
|
910 |
|
|
|
911 |
|
|
/// reco::helper::JetIDHelper jetIDHelper;
|
912 |
|
|
|
913 |
|
|
int nak5PFJet;
|
914 |
|
|
|
915 |
|
|
float ak5PFJetet[nCJetMAX];
|
916 |
|
|
float ak5PFJeteta[nCJetMAX];
|
917 |
|
|
float ak5PFJetphi[nCJetMAX];
|
918 |
|
|
|
919 |
|
|
float ak5PFJetchargedHadronEnergyFraction[nCJetMAX];
|
920 |
|
|
float ak5PFJetchargedMuEnergyFraction[nCJetMAX];
|
921 |
|
|
float ak5PFJetneutralEmEnergyFraction[nCJetMAX];
|
922 |
|
|
int ak5PFJetchargedMultiplicity[nCJetMAX];
|
923 |
|
|
int ak5PFJetneutralMultiplicity[nCJetMAX];
|
924 |
|
|
int ak5PFJetPFsize[nCJetMAX];
|
925 |
|
|
float ak5PFJetfHPD[nCJetMAX];
|
926 |
|
|
float ak5PFJetfRBX[nCJetMAX];
|
927 |
|
|
float ak5PFJetn90Hits[nCJetMAX];
|
928 |
|
|
float ak5PFJetrestrictedEMF[nCJetMAX];
|
929 |
|
|
float ak5PFJetcorrection[nCJetMAX];
|
930 |
|
|
float ak5PFJetPartonmatch[nCJetMAX][6];
|
931 |
|
|
|
932 |
|
|
|
933 |
|
|
int nak7PFJet;
|
934 |
|
|
|
935 |
|
|
float ak7PFJetet[nCJetMAX];
|
936 |
|
|
float ak7PFJeteta[nCJetMAX];
|
937 |
|
|
float ak7PFJetphi[nCJetMAX];
|
938 |
|
|
|
939 |
|
|
float ak7PFJetchargedHadronEnergyFraction[nCJetMAX];
|
940 |
|
|
float ak7PFJetchargedMuEnergyFraction[nCJetMAX];
|
941 |
|
|
float ak7PFJetneutralEmEnergyFraction[nCJetMAX];
|
942 |
|
|
int ak7PFJetchargedMultiplicity[nCJetMAX];
|
943 |
|
|
int ak7PFJetneutralMultiplicity[nCJetMAX];
|
944 |
|
|
int ak7PFJetPFsize[nCJetMAX];
|
945 |
|
|
float ak7PFJetfHPD[nCJetMAX];
|
946 |
|
|
float ak7PFJetfRBX[nCJetMAX];
|
947 |
|
|
float ak7PFJetn90Hits[nCJetMAX];
|
948 |
|
|
float ak7PFJetrestrictedEMF[nCJetMAX];
|
949 |
|
|
float ak7PFJetcorrection[nCJetMAX];
|
950 |
|
|
float ak7PFJetPartonmatch[nCJetMAX][6];
|
951 |
|
|
///below only for MC
|
952 |
|
|
|
953 |
|
|
vector<short> *pileupBunchX;
|
954 |
|
|
vector<short> *pileupNInteraction;
|
955 |
|
|
|
956 |
|
|
|
957 |
|
|
//PDF
|
958 |
|
|
int pdfidfirst;
|
959 |
|
|
int pdfidsecond;
|
960 |
|
|
float pdfxfirst;
|
961 |
|
|
float pdfxsecond;
|
962 |
|
|
float xPDFfirst;
|
963 |
|
|
float xPDFsecond;
|
964 |
|
|
float pdfscalePDF;
|
965 |
|
|
|
966 |
|
|
///signalID qscale
|
967 |
|
|
int signalProcessID;
|
968 |
|
|
float qScale;
|
969 |
|
|
|
970 |
|
|
|
971 |
|
|
|
972 |
|
|
static const int MAXGenSaved = 1000;
|
973 |
|
|
//gen-leve phton
|
974 |
|
|
int nGenPht;
|
975 |
|
|
float etaGenPht[MAXGenSaved];
|
976 |
|
|
float phiGenPht[MAXGenSaved];
|
977 |
|
|
float ptGenPht[MAXGenSaved];
|
978 |
|
|
int pidmomGenPht[MAXGenSaved];
|
979 |
|
|
int pidmom2GenPht[MAXGenSaved];
|
980 |
|
|
int pidmom3GenPht[MAXGenSaved];
|
981 |
|
|
int statusGenPht[MAXGenSaved];
|
982 |
|
|
float vxGenPht[MAXGenSaved];
|
983 |
|
|
float vyGenPht[MAXGenSaved];
|
984 |
|
|
float vzGenPht[MAXGenSaved];
|
985 |
|
|
|
986 |
|
|
//gen Muon
|
987 |
|
|
int nGenMu;
|
988 |
|
|
float etaGenMu[MAXGenSaved];
|
989 |
|
|
float phiGenMu[MAXGenSaved];
|
990 |
|
|
float ptGenMu[MAXGenSaved];
|
991 |
|
|
int pidmomGenMu[MAXGenSaved];
|
992 |
|
|
int pidmom2GenMu[MAXGenSaved];
|
993 |
|
|
int pidmom3GenMu[MAXGenSaved];
|
994 |
|
|
int statusGenMu[MAXGenSaved];
|
995 |
|
|
int pidGenMu[MAXGenSaved];
|
996 |
|
|
float vxGenMu[MAXGenSaved];
|
997 |
|
|
float vyGenMu[MAXGenSaved];
|
998 |
|
|
float vzGenMu[MAXGenSaved];
|
999 |
|
|
|
1000 |
|
|
//gen electron
|
1001 |
|
|
int nGenEle;
|
1002 |
|
|
float etaGenEle[MAXGenSaved];
|
1003 |
|
|
float phiGenEle[MAXGenSaved];
|
1004 |
|
|
float ptGenEle[MAXGenSaved];
|
1005 |
|
|
int pidmomGenEle[MAXGenSaved];
|
1006 |
|
|
int pidmom2GenEle[MAXGenSaved];
|
1007 |
|
|
int pidmom3GenEle[MAXGenSaved];
|
1008 |
|
|
int statusGenEle[MAXGenSaved];
|
1009 |
|
|
int pidGenEle[MAXGenSaved];
|
1010 |
|
|
float vxGenEle[MAXGenSaved];
|
1011 |
|
|
float vyGenEle[MAXGenSaved];
|
1012 |
|
|
float vzGenEle[MAXGenSaved];
|
1013 |
|
|
|
1014 |
|
|
|
1015 |
|
|
|
1016 |
|
|
static const int MAXMC = 100000;
|
1017 |
|
|
int nMCpart;
|
1018 |
|
|
float pxMCpart[MAXMC];
|
1019 |
|
|
float pyMCpart[MAXMC];
|
1020 |
|
|
float pzMCpart[MAXMC];
|
1021 |
|
|
float ptotMCpart[MAXMC];
|
1022 |
|
|
float ptMCpart[MAXMC];
|
1023 |
|
|
float eMCpart[MAXMC];
|
1024 |
|
|
float etMCpart[MAXMC];
|
1025 |
|
|
float etaMCpart[MAXMC];
|
1026 |
|
|
float phiMCpart[MAXMC];
|
1027 |
|
|
float mMCpart[MAXMC];
|
1028 |
|
|
int chargeMCpart[MAXMC];
|
1029 |
|
|
int pidMCpart[MAXMC];
|
1030 |
|
|
int pidmomMCpart[MAXMC];
|
1031 |
|
|
int barcodemomMCpart[MAXMC];
|
1032 |
|
|
int nDauMCpart[MAXMC];
|
1033 |
|
|
int pidFDauMCpart[MAXMC]; ///pid of first daughter, mainly for checking if is 91 or 92.
|
1034 |
|
|
|
1035 |
|
|
|
1036 |
|
|
|
1037 |
|
|
static const int MAXDAU = 100;
|
1038 |
|
|
int barcodeDauMCpart[MAXMC][MAXDAU];
|
1039 |
|
|
int statusMCpart[MAXMC];
|
1040 |
|
|
float vtxXMCpart[MAXMC];
|
1041 |
|
|
float vtxYMCpart[MAXMC];
|
1042 |
|
|
float vtxZMCpart[MAXMC];
|
1043 |
|
|
int convPhtMCpart[MAXMC][3]; //only for status==1 Gen photon, and the two index to the two electrons
|
1044 |
|
|
|
1045 |
|
|
vector<int> partonList;
|
1046 |
|
|
|
1047 |
|
|
|
1048 |
|
|
// L1 objects
|
1049 |
|
|
static const int MAXL1OBJ = 100;
|
1050 |
|
|
// static const int MAXL1BITS = 128;
|
1051 |
|
|
// L1 EM isolated objects
|
1052 |
|
|
int nL1EMIso;
|
1053 |
|
|
float L1EMIso_e[MAXL1OBJ];
|
1054 |
|
|
float L1EMIso_et[MAXL1OBJ];
|
1055 |
|
|
float L1EMIso_eta[MAXL1OBJ];
|
1056 |
|
|
float L1EMIso_phi[MAXL1OBJ];
|
1057 |
|
|
// L1 EM non-isolated objects
|
1058 |
|
|
int nL1EMnonIso;
|
1059 |
|
|
float L1EMnonIso_e[MAXL1OBJ];
|
1060 |
|
|
float L1EMnonIso_et[MAXL1OBJ];
|
1061 |
|
|
float L1EMnonIso_eta[MAXL1OBJ];
|
1062 |
|
|
float L1EMnonIso_phi[MAXL1OBJ];
|
1063 |
|
|
|
1064 |
|
|
int nL1Muon;
|
1065 |
|
|
float L1Muon_e[MAXL1OBJ];
|
1066 |
|
|
float L1Muon_et[MAXL1OBJ];
|
1067 |
|
|
float L1Muon_pt[MAXL1OBJ];
|
1068 |
|
|
float L1Muon_eta[MAXL1OBJ];
|
1069 |
|
|
float L1Muon_phi[MAXL1OBJ];
|
1070 |
|
|
|
1071 |
|
|
bool saveTrk_;
|
1072 |
|
|
bool saveLaserCorrSeedCrystal_;
|
1073 |
|
|
/* edm::ESHandle<EcalLaserDbService> laser; */
|
1074 |
|
|
|
1075 |
|
|
|
1076 |
|
|
/* }; */
|