ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/CmsHi/JetAnalysis/interface/HiInclusiveJetAnalyzer.h
Revision: 1.17
Committed: Mon Jul 9 17:28:40 2012 UTC (12 years, 9 months ago) by yilmaz
Content type: text/plain
Branch: MAIN
CVS Tags: HiForest_V02_33, HiForest_V02_32, HiForest_V02_31, HiForest_V02_30, HiForest_V02_27, HiForest_V02_26, QM_2012, HiForest_V02_25, HiForest_V02_24
Branch point for: branch_44x
Changes since 1.16: +1 -0 lines
Log Message:
genparticle variables

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