ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CmsHi/JetAnalysis/interface/HiInclusiveJetAnalyzer.h
Revision: 1.17.2.1
Committed: Thu Jan 31 00:25:40 2013 UTC (12 years, 3 months ago) by yilmaz
Content type: text/plain
Branch: branch_44x
Changes since 1.17: +33 -0 lines
Log Message:
44X updates

File Contents

# User Rev Content
1 yilmaz 1.1 #ifndef MNguyen_HiInclusiveJetAnalyzer_inclusiveJetAnalyzer_
2     #define MNguyen_HiInclusiveJetAnalyzer_inclusiveJetAnalyzer_
3    
4     // system include files
5     #include <memory>
6     #include <string>
7     #include <iostream>
8    
9     // user include files
10     #include "FWCore/Framework/interface/Frameworkfwd.h"
11     #include "FWCore/Framework/interface/EDAnalyzer.h"
12     #include "FWCore/ParameterSet/interface/ParameterSet.h"
13     #include "FWCore/Framework/interface/Event.h"
14     #include "FWCore/Framework/interface/MakerMacros.h"
15    
16     #include "TFile.h"
17     #include "TTree.h"
18     #include "TH1.h"
19     #include "CommonTools/UtilAlgos/interface/TFileService.h"
20     #include "FWCore/ServiceRegistry/interface/Service.h"
21    
22     #include "DataFormats/HeavyIonEvent/interface/CentralityProvider.h"
23 yilmaz 1.16 #include "Geometry/CaloGeometry/interface/CaloGeometry.h"
24 yilmaz 1.1
25 mnguyen 1.3 #include "DataFormats/PatCandidates/interface/Jet.h"
26     #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h"
27 yilmaz 1.1 //
28    
29     /**\class HiInclusiveJetAnalyzer
30    
31     \author Matt Nguyen
32     \date November 2010
33     */
34    
35    
36    
37    
38     class HiInclusiveJetAnalyzer : public edm::EDAnalyzer {
39     public:
40    
41     explicit HiInclusiveJetAnalyzer(const edm::ParameterSet&);
42    
43     ~HiInclusiveJetAnalyzer();
44    
45     virtual void analyze(const edm::Event&, const edm::EventSetup&);
46    
47     virtual void beginRun(const edm::Run & r, const edm::EventSetup & c);
48    
49     virtual void beginJob();
50    
51     void fillL1Bits(const edm::Event &iEvent);
52    
53     void fillHLTBits(const edm::Event &iEvent);
54    
55     template <typename TYPE>
56     void getProduct(const std::string name, edm::Handle<TYPE> &prod,
57     const edm::Event &event) const;
58     template <typename TYPE>
59     bool getProductSafe(const std::string name, edm::Handle<TYPE> &prod,
60     const edm::Event &event) const;
61    
62    
63     private:
64    
65 mnguyen 1.3 int getPFJetMuon(const pat::Jet& pfJet, const reco::PFCandidateCollection *pfCandidateColl);
66 yilmaz 1.1
67 mnguyen 1.3 double getPtRel(const reco::PFCandidate lep, const pat::Jet& jet );
68 yilmaz 1.1
69 mnguyen 1.6 void saveDaughters( const reco::GenParticle & gen);
70     void saveDaughters( const reco::Candidate & gen);
71 yilmaz 1.16 double getEt(math::XYZPoint pos, double energy);
72     math::XYZPoint getPosition(const DetId &id, reco::Vertex::Point vtx = reco::Vertex::Point(0,0,0));
73 mnguyen 1.6
74 yilmaz 1.12 edm::InputTag jetTag_, vtxTag_, genjetTag_, eventInfoTag_, L1gtReadout_, pfCandidateLabel_, trackTag_, matchTag_;
75 yilmaz 1.16 edm::InputTag HcalRecHitHFSrc_;
76     edm::InputTag HcalRecHitHBHESrc_;
77     edm::InputTag EBSrc_;
78     edm::InputTag EESrc_;
79 yilmaz 1.17 edm::InputTag genParticleSrc_;
80 yilmaz 1.1
81 mnguyen 1.6 std::vector<float> usedStringPts;
82 yilmaz 1.1
83     /// verbose ?
84     bool verbose_;
85    
86     bool useCentrality_;
87     bool useVtx_;
88     bool useJEC_;
89 yilmaz 1.2 bool usePat_;
90 yilmaz 1.1 bool isMC_;
91 yilmaz 1.14 bool fillGenJets_;
92 yilmaz 1.9 bool doTrigger_;
93 yilmaz 1.11 bool useQuality_;
94     std::string trackQuality_;
95 yilmaz 1.1
96 yilmaz 1.8 bool doSubEvent_;
97 yilmaz 1.4 double genPtMin_;
98 mnguyen 1.3 bool doLifeTimeTagging_;
99 mnguyen 1.5 bool doLifeTimeTaggingExtras_;
100 mnguyen 1.7 bool saveBfragments_;
101 yilmaz 1.17.2.1 bool skipCorrections_;
102 yilmaz 1.1
103 yilmaz 1.11 double rParam;
104 yilmaz 1.13 double hardPtMin_;
105 yilmaz 1.17.2.1 double jetPtMin_;
106 yilmaz 1.11
107 yilmaz 1.1 TTree *t;
108     edm::Service<TFileService> fs1;
109    
110     CentralityProvider * centrality_;
111 yilmaz 1.16 const CaloGeometry *geo;
112 yilmaz 1.1
113     std::string hltResName_; //HLT trigger results name
114     std::vector<std::string> hltProcNames_; //HLT process name(s)
115     std::vector<std::string> hltTrgNames_; //HLT trigger name(s)
116    
117     std::vector<int> hltTrgBits_; //HLT trigger bit(s)
118     std::vector<bool> hltTrgDeci_; //HLT trigger descision(s)
119     std::vector<std::string> hltTrgUsedNames_; //HLT used trigger name(s)
120     std::string hltUsedResName_; //used HLT trigger results name
121    
122    
123    
124 mnguyen 1.5 static const int MAXJETS = 500;
125     static const int MAXTRACKS = 5000;
126     static const int MAXHLTBITS = 5000;
127 mnguyen 1.6 static const int MAXBFRAG = 500;
128 yilmaz 1.1
129     struct JRA{
130    
131     int nref;
132     int run;
133     int evt;
134     int lumi;
135     int bin;
136     float vx, vy, vz;
137     float b;
138     float hf;
139    
140     float rawpt[MAXJETS];
141     float jtpt[MAXJETS];
142     float jteta[MAXJETS];
143     float jtphi[MAXJETS];
144     float jty[MAXJETS];
145 yilmaz 1.2 float jtpu[MAXJETS];
146 yilmaz 1.15 float jtm[MAXJETS];
147 yilmaz 1.2
148 yilmaz 1.11 float trackMax[MAXJETS];
149     float trackSum[MAXJETS];
150     int trackN[MAXJETS];
151    
152     float chargedMax[MAXJETS];
153     float chargedSum[MAXJETS];
154     int chargedN[MAXJETS];
155    
156     float photonMax[MAXJETS];
157     float photonSum[MAXJETS];
158     int photonN[MAXJETS];
159    
160 yilmaz 1.13 float trackHardSum[MAXJETS];
161     float chargedHardSum[MAXJETS];
162     float photonHardSum[MAXJETS];
163    
164     int trackHardN[MAXJETS];
165     int chargedHardN[MAXJETS];
166     int photonHardN[MAXJETS];
167    
168 yilmaz 1.11 float neutralMax[MAXJETS];
169     float neutralSum[MAXJETS];
170     int neutralN[MAXJETS];
171    
172     float eMax[MAXJETS];
173     float eSum[MAXJETS];
174     int eN[MAXJETS];
175    
176     float muMax[MAXJETS];
177     float muSum[MAXJETS];
178     int muN[MAXJETS];
179    
180 yilmaz 1.16 float genChargedSum[MAXJETS];
181     float genHardSum[MAXJETS];
182     float signalChargedSum[MAXJETS];
183     float signalHardSum[MAXJETS];
184    
185     float hcalSum[MAXJETS];
186     float ecalSum[MAXJETS];
187    
188 yilmaz 1.17.2.1
189     float fHPD[MAXJETS];
190     float fRBX[MAXJETS];
191     int n90[MAXJETS];
192     float fSubDet1[MAXJETS];
193     float fSubDet2[MAXJETS];
194     float fSubDet3[MAXJETS];
195     float fSubDet4[MAXJETS];
196     float restrictedEMF[MAXJETS];
197     int nHCAL[MAXJETS];
198     int nECAL[MAXJETS];
199     float apprHPD[MAXJETS];
200     float apprRBX[MAXJETS];
201    
202     // int n90[MAXJETS];
203     int n2RPC[MAXJETS];
204     int n3RPC[MAXJETS];
205     int nRPC[MAXJETS];
206    
207     float fEB[MAXJETS];
208     float fEE[MAXJETS];
209     float fHB[MAXJETS];
210     float fHE[MAXJETS];
211     float fHO[MAXJETS];
212     float fLong[MAXJETS];
213     float fShort[MAXJETS];
214     float fLS[MAXJETS];
215     float fHFOOT[MAXJETS];
216    
217    
218 yilmaz 1.16 int subid[MAXJETS];
219    
220 yilmaz 1.12 float matchedPt[MAXJETS];
221 yilmaz 1.17.2.1 float matchedRawPt[MAXJETS];
222 yilmaz 1.12 float matchedR[MAXJETS];
223    
224 mnguyen 1.3 float discr_csvMva[MAXJETS];
225     float discr_csvSimple[MAXJETS];
226     float discr_muByIp3[MAXJETS];
227     float discr_muByPt[MAXJETS];
228     float discr_prob[MAXJETS];
229     float discr_probb[MAXJETS];
230     float discr_tcHighEff[MAXJETS];
231     float discr_tcHighPur[MAXJETS];
232    
233 mnguyen 1.5 int nsvtx[MAXJETS];
234     int svtxntrk[MAXJETS];
235 mnguyen 1.3 float svtxdl[MAXJETS];
236     float svtxdls[MAXJETS];
237     float svtxm[MAXJETS];
238     float svtxpt[MAXJETS];
239    
240 mnguyen 1.5 int nIPtrk[MAXJETS];
241     int nselIPtrk[MAXJETS];
242    
243 mnguyen 1.6 int nIP;
244 mnguyen 1.5 int ipJetIndex[MAXTRACKS];
245     float ipPt[MAXTRACKS];
246     float ipProb0[MAXTRACKS];
247     float ipProb1[MAXTRACKS];
248     float ip2d[MAXTRACKS];
249     float ip2dSig[MAXTRACKS];
250     float ip3d[MAXTRACKS];
251     float ip3dSig[MAXTRACKS];
252     float ipDist2Jet[MAXTRACKS];
253     float ipDist2JetSig[MAXTRACKS];
254     float ipClosest2Jet[MAXTRACKS];
255 mnguyen 1.3
256     float mue[MAXJETS];
257     float mupt[MAXJETS];
258     float mueta[MAXJETS];
259     float muphi[MAXJETS];
260     float mudr[MAXJETS];
261     float muptrel[MAXJETS];
262     int muchg[MAXJETS];
263    
264 ylai 1.10 float discr_fr01[MAXJETS];
265    
266 yilmaz 1.1 float refpt[MAXJETS];
267     float refeta[MAXJETS];
268     float refphi[MAXJETS];
269     float refy[MAXJETS];
270     float refdphijt[MAXJETS];
271     float refdrjt[MAXJETS];
272     float refparton_pt[MAXJETS];
273 mnguyen 1.3 int refparton_flavor[MAXJETS];
274     int refparton_flavorForB[MAXJETS];
275 yilmaz 1.1
276     float pthat;
277 mnguyen 1.5 int beamId1, beamId2;
278 yilmaz 1.1 int ngen;
279     int genmatchindex[MAXJETS];
280     float genpt[MAXJETS];
281     float geneta[MAXJETS];
282     float genphi[MAXJETS];
283     float geny[MAXJETS];
284     float gendphijt[MAXJETS];
285     float gendrjt[MAXJETS];
286 yilmaz 1.8 int gensubid[MAXJETS];
287 yilmaz 1.1
288     // hlt
289     int nHLTBit;
290     bool hltBit[MAXHLTBITS];
291    
292     // l1
293     int nL1TBit;
294     bool l1TBit[MAXHLTBITS];
295     int nL1ABit;
296     bool l1ABit[MAXHLTBITS];
297    
298 mnguyen 1.6 int bMult;
299     int bJetIndex[MAXBFRAG];
300     int bStatus[MAXBFRAG];
301     int bPdg[MAXBFRAG];
302     int bChg[MAXBFRAG];
303     float bVx[MAXBFRAG];
304     float bVy[MAXBFRAG];
305     float bVz[MAXBFRAG];
306     float bPt[MAXBFRAG];
307     float bEta[MAXBFRAG];
308     float bPhi[MAXBFRAG];
309    
310 mnguyen 1.3
311 yilmaz 1.1 };
312    
313     JRA jets_;
314    
315     };
316    
317     #endif