ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CmsHi/JetAnalysis/interface/HiInclusiveJetAnalyzer.h
Revision: 1.16
Committed: Mon Jul 9 17:16:51 2012 UTC (12 years, 9 months ago) by yilmaz
Content type: text/plain
Branch: MAIN
Changes since 1.15: +18 -2 lines
Log Message:
calo fractions and sub-id

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