ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CmsHi/JetAnalysis/interface/HiInclusiveJetAnalyzer.h
Revision: 1.19
Committed: Fri Jan 25 17:07:54 2013 UTC (12 years, 3 months ago) by yilmaz
Content type: text/plain
Branch: MAIN
Changes since 1.18: +1 -0 lines
Log Message:
Random cones added

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.18 bool skipCorrections_;
102 yilmaz 1.1
103 yilmaz 1.11 double rParam;
104 yilmaz 1.13 double hardPtMin_;
105 yilmaz 1.19 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     int subid[MAXJETS];
189    
190 yilmaz 1.12 float matchedPt[MAXJETS];
191 yilmaz 1.18 float matchedRawPt[MAXJETS];
192 yilmaz 1.12 float matchedR[MAXJETS];
193    
194 mnguyen 1.3 float discr_csvMva[MAXJETS];
195     float discr_csvSimple[MAXJETS];
196     float discr_muByIp3[MAXJETS];
197     float discr_muByPt[MAXJETS];
198     float discr_prob[MAXJETS];
199     float discr_probb[MAXJETS];
200     float discr_tcHighEff[MAXJETS];
201     float discr_tcHighPur[MAXJETS];
202    
203 mnguyen 1.5 int nsvtx[MAXJETS];
204     int svtxntrk[MAXJETS];
205 mnguyen 1.3 float svtxdl[MAXJETS];
206     float svtxdls[MAXJETS];
207     float svtxm[MAXJETS];
208     float svtxpt[MAXJETS];
209    
210 mnguyen 1.5 int nIPtrk[MAXJETS];
211     int nselIPtrk[MAXJETS];
212    
213 mnguyen 1.6 int nIP;
214 mnguyen 1.5 int ipJetIndex[MAXTRACKS];
215     float ipPt[MAXTRACKS];
216     float ipProb0[MAXTRACKS];
217     float ipProb1[MAXTRACKS];
218     float ip2d[MAXTRACKS];
219     float ip2dSig[MAXTRACKS];
220     float ip3d[MAXTRACKS];
221     float ip3dSig[MAXTRACKS];
222     float ipDist2Jet[MAXTRACKS];
223     float ipDist2JetSig[MAXTRACKS];
224     float ipClosest2Jet[MAXTRACKS];
225 mnguyen 1.3
226     float mue[MAXJETS];
227     float mupt[MAXJETS];
228     float mueta[MAXJETS];
229     float muphi[MAXJETS];
230     float mudr[MAXJETS];
231     float muptrel[MAXJETS];
232     int muchg[MAXJETS];
233    
234 ylai 1.10 float discr_fr01[MAXJETS];
235    
236 yilmaz 1.1 float refpt[MAXJETS];
237     float refeta[MAXJETS];
238     float refphi[MAXJETS];
239     float refy[MAXJETS];
240     float refdphijt[MAXJETS];
241     float refdrjt[MAXJETS];
242     float refparton_pt[MAXJETS];
243 mnguyen 1.3 int refparton_flavor[MAXJETS];
244     int refparton_flavorForB[MAXJETS];
245 yilmaz 1.1
246     float pthat;
247 mnguyen 1.5 int beamId1, beamId2;
248 yilmaz 1.1 int ngen;
249     int genmatchindex[MAXJETS];
250     float genpt[MAXJETS];
251     float geneta[MAXJETS];
252     float genphi[MAXJETS];
253     float geny[MAXJETS];
254     float gendphijt[MAXJETS];
255     float gendrjt[MAXJETS];
256 yilmaz 1.8 int gensubid[MAXJETS];
257 yilmaz 1.1
258     // hlt
259     int nHLTBit;
260     bool hltBit[MAXHLTBITS];
261    
262     // l1
263     int nL1TBit;
264     bool l1TBit[MAXHLTBITS];
265     int nL1ABit;
266     bool l1ABit[MAXHLTBITS];
267    
268 mnguyen 1.6 int bMult;
269     int bJetIndex[MAXBFRAG];
270     int bStatus[MAXBFRAG];
271     int bPdg[MAXBFRAG];
272     int bChg[MAXBFRAG];
273     float bVx[MAXBFRAG];
274     float bVy[MAXBFRAG];
275     float bVz[MAXBFRAG];
276     float bPt[MAXBFRAG];
277     float bEta[MAXBFRAG];
278     float bPhi[MAXBFRAG];
279    
280 mnguyen 1.3
281 yilmaz 1.1 };
282    
283     JRA jets_;
284    
285     };
286    
287     #endif