ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CmsHi/JetAnalysis/interface/HiInclusiveJetAnalyzer.h
Revision: 1.18
Committed: Tue Jan 15 14:04:24 2013 UTC (12 years, 3 months ago) by yilmaz
Content type: text/plain
Branch: MAIN
CVS Tags: HiForest_V02_53, HiForest_V02_52, HiForest_V02_51, HiForest_V02_50, HiForest_V02_49, HiForest_V02_48, HiForest_V02_47, HiForest_V02_46, HiForest_V02_45, HiForest_V02_44, HiForest_V02_43, HiForest_V02_42, HiForest_V02_41, HiForest_V02_40, HiForest_V02_39, HiForest_V02_38, HiForest_V02_37, HiForest_V02_36, HiForest_V02_35, HiForest_V02_34
Changes since 1.17: +2 -0 lines
Log Message:
up

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.11
106 yilmaz 1.1 TTree *t;
107     edm::Service<TFileService> fs1;
108    
109     CentralityProvider * centrality_;
110 yilmaz 1.16 const CaloGeometry *geo;
111 yilmaz 1.1
112     std::string hltResName_; //HLT trigger results name
113     std::vector<std::string> hltProcNames_; //HLT process name(s)
114     std::vector<std::string> hltTrgNames_; //HLT trigger name(s)
115    
116     std::vector<int> hltTrgBits_; //HLT trigger bit(s)
117     std::vector<bool> hltTrgDeci_; //HLT trigger descision(s)
118     std::vector<std::string> hltTrgUsedNames_; //HLT used trigger name(s)
119     std::string hltUsedResName_; //used HLT trigger results name
120    
121    
122    
123 mnguyen 1.5 static const int MAXJETS = 500;
124     static const int MAXTRACKS = 5000;
125     static const int MAXHLTBITS = 5000;
126 mnguyen 1.6 static const int MAXBFRAG = 500;
127 yilmaz 1.1
128     struct JRA{
129    
130     int nref;
131     int run;
132     int evt;
133     int lumi;
134     int bin;
135     float vx, vy, vz;
136     float b;
137     float hf;
138    
139     float rawpt[MAXJETS];
140     float jtpt[MAXJETS];
141     float jteta[MAXJETS];
142     float jtphi[MAXJETS];
143     float jty[MAXJETS];
144 yilmaz 1.2 float jtpu[MAXJETS];
145 yilmaz 1.15 float jtm[MAXJETS];
146 yilmaz 1.2
147 yilmaz 1.11 float trackMax[MAXJETS];
148     float trackSum[MAXJETS];
149     int trackN[MAXJETS];
150    
151     float chargedMax[MAXJETS];
152     float chargedSum[MAXJETS];
153     int chargedN[MAXJETS];
154    
155     float photonMax[MAXJETS];
156     float photonSum[MAXJETS];
157     int photonN[MAXJETS];
158    
159 yilmaz 1.13 float trackHardSum[MAXJETS];
160     float chargedHardSum[MAXJETS];
161     float photonHardSum[MAXJETS];
162    
163     int trackHardN[MAXJETS];
164     int chargedHardN[MAXJETS];
165     int photonHardN[MAXJETS];
166    
167 yilmaz 1.11 float neutralMax[MAXJETS];
168     float neutralSum[MAXJETS];
169     int neutralN[MAXJETS];
170    
171     float eMax[MAXJETS];
172     float eSum[MAXJETS];
173     int eN[MAXJETS];
174    
175     float muMax[MAXJETS];
176     float muSum[MAXJETS];
177     int muN[MAXJETS];
178    
179 yilmaz 1.16 float genChargedSum[MAXJETS];
180     float genHardSum[MAXJETS];
181     float signalChargedSum[MAXJETS];
182     float signalHardSum[MAXJETS];
183    
184     float hcalSum[MAXJETS];
185     float ecalSum[MAXJETS];
186    
187     int subid[MAXJETS];
188    
189 yilmaz 1.12 float matchedPt[MAXJETS];
190 yilmaz 1.18 float matchedRawPt[MAXJETS];
191 yilmaz 1.12 float matchedR[MAXJETS];
192    
193 mnguyen 1.3 float discr_csvMva[MAXJETS];
194     float discr_csvSimple[MAXJETS];
195     float discr_muByIp3[MAXJETS];
196     float discr_muByPt[MAXJETS];
197     float discr_prob[MAXJETS];
198     float discr_probb[MAXJETS];
199     float discr_tcHighEff[MAXJETS];
200     float discr_tcHighPur[MAXJETS];
201    
202 mnguyen 1.5 int nsvtx[MAXJETS];
203     int svtxntrk[MAXJETS];
204 mnguyen 1.3 float svtxdl[MAXJETS];
205     float svtxdls[MAXJETS];
206     float svtxm[MAXJETS];
207     float svtxpt[MAXJETS];
208    
209 mnguyen 1.5 int nIPtrk[MAXJETS];
210     int nselIPtrk[MAXJETS];
211    
212 mnguyen 1.6 int nIP;
213 mnguyen 1.5 int ipJetIndex[MAXTRACKS];
214     float ipPt[MAXTRACKS];
215     float ipProb0[MAXTRACKS];
216     float ipProb1[MAXTRACKS];
217     float ip2d[MAXTRACKS];
218     float ip2dSig[MAXTRACKS];
219     float ip3d[MAXTRACKS];
220     float ip3dSig[MAXTRACKS];
221     float ipDist2Jet[MAXTRACKS];
222     float ipDist2JetSig[MAXTRACKS];
223     float ipClosest2Jet[MAXTRACKS];
224 mnguyen 1.3
225     float mue[MAXJETS];
226     float mupt[MAXJETS];
227     float mueta[MAXJETS];
228     float muphi[MAXJETS];
229     float mudr[MAXJETS];
230     float muptrel[MAXJETS];
231     int muchg[MAXJETS];
232    
233 ylai 1.10 float discr_fr01[MAXJETS];
234    
235 yilmaz 1.1 float refpt[MAXJETS];
236     float refeta[MAXJETS];
237     float refphi[MAXJETS];
238     float refy[MAXJETS];
239     float refdphijt[MAXJETS];
240     float refdrjt[MAXJETS];
241     float refparton_pt[MAXJETS];
242 mnguyen 1.3 int refparton_flavor[MAXJETS];
243     int refparton_flavorForB[MAXJETS];
244 yilmaz 1.1
245     float pthat;
246 mnguyen 1.5 int beamId1, beamId2;
247 yilmaz 1.1 int ngen;
248     int genmatchindex[MAXJETS];
249     float genpt[MAXJETS];
250     float geneta[MAXJETS];
251     float genphi[MAXJETS];
252     float geny[MAXJETS];
253     float gendphijt[MAXJETS];
254     float gendrjt[MAXJETS];
255 yilmaz 1.8 int gensubid[MAXJETS];
256 yilmaz 1.1
257     // hlt
258     int nHLTBit;
259     bool hltBit[MAXHLTBITS];
260    
261     // l1
262     int nL1TBit;
263     bool l1TBit[MAXHLTBITS];
264     int nL1ABit;
265     bool l1ABit[MAXHLTBITS];
266    
267 mnguyen 1.6 int bMult;
268     int bJetIndex[MAXBFRAG];
269     int bStatus[MAXBFRAG];
270     int bPdg[MAXBFRAG];
271     int bChg[MAXBFRAG];
272     float bVx[MAXBFRAG];
273     float bVy[MAXBFRAG];
274     float bVz[MAXBFRAG];
275     float bPt[MAXBFRAG];
276     float bEta[MAXBFRAG];
277     float bPhi[MAXBFRAG];
278    
279 mnguyen 1.3
280 yilmaz 1.1 };
281    
282     JRA jets_;
283    
284     };
285    
286     #endif