ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/LJMet/MultivariateAnalysis/interface/TtLJetsAnalyzer.h
(Generate patch)

Comparing UserCode/LJMet/MultivariateAnalysis/interface/TtLJetsAnalyzer.h (file contents):
Revision 1.3 by kukartse, Thu Nov 20 22:34:48 2008 UTC vs.
Revision 1.9 by kukartse, Thu Apr 2 16:43:50 2009 UTC

# Line 17 | Line 17
17   //
18   //
19  
20 + #include "LJMet/MultivariateAnalysis/interface/RooGKCounter.h"
21 +
22   #include <memory>
23   #include <string>
24 <
24 > #include "TFile.h"
25 > #include "TTree.h"
26 > #include "Rtypes.h"
27   #include "FWCore/Framework/interface/Frameworkfwd.h"
28   #include "FWCore/Framework/interface/EDAnalyzer.h"
29   #include "FWCore/Framework/interface/Event.h"
30   #include "FWCore/Framework/interface/MakerMacros.h"
31   #include "FWCore/ParameterSet/interface/ParameterSet.h"
28 #include "LJMet/MultivariateAnalysis/interface/RooGKCounter.h"
29
30 #include "TFile.h"
31 #include "TTree.h"
32 #include "Rtypes.h"
32  
33   class TtLJetsAnalyzer : public edm::EDAnalyzer {
34   public:
# Line 38 | Line 37 | public:
37    
38    
39   private:
40 +
41 +  virtual void beginJob(const edm::EventSetup&);
42 +  virtual void analyze(const edm::Event&, const edm::EventSetup&);
43 +  virtual void endJob(void);
44 +
45 +  // _____ quantities read from the config file _________________________
46    std::string _jetSource, _electronSource, _muonSource, _METSource;
47    std::string _outFile;
48 +  bool _is_mc;
49    int nCaloJets_min;
50    int nLepton_min;
51    double jet_pt_min            ;
# Line 53 | Line 59 | private:
59    double electron_trackIso_max ;
60    double electron_caloIso_max  ;
61    double met_et_min            ;
62 +  double min_dr_jet_lepton     ;
63  
64    RooGKCounter eventCounter;
65    RooGKCounter selectedEvents;
# Line 60 | Line 67 | private:
67    TFile * _file;
68    TTree * _tree;
69  
70 +  //
71 +  // _____ output tree variables ________________________________________
72    Int_t _event;
73    Int_t _process_id;
74    Int_t _n_jets;
75 +  Int_t _n_removed_jets;
76    Int_t _n_met;
77    Int_t _n_muons;
78    Int_t _n_electrons;
79    Int_t _lepton_is_muon;
80    Double_t _event_weight;
81 +  Double_t _lepton_et;
82    Double_t _lepton_pt;
83    Double_t _lepton_eta;
84    Double_t _lepton_phi;
# Line 86 | Line 97 | private:
97    Double_t _lepton_ecal_iso;
98    Double_t _lepton_hcal_iso;
99    Double_t _lepton_user_iso;
100 <  Double_t _met_pt;
100 >  Double_t _lepton_IsoDeposit_em;
101 >  Double_t _lepton_IsoDeposit_had;
102    Double_t _met_et;
103 +  Double_t _met_pt;
104    Double_t _met_eta;
105    Double_t _met_phi;
106    Double_t _met_energy;
107 +  Double_t _jet1_et;
108    Double_t _jet1_pt;
109    Double_t _jet1_eta;
110    Double_t _jet1_phi;
111    Double_t _jet1_energy;
112 +  Double_t _jet2_et;
113    Double_t _jet2_pt;
114    Double_t _jet2_eta;
115    Double_t _jet2_phi;
116    Double_t _jet2_energy;
117 +  Double_t _jet3_et;
118    Double_t _jet3_pt;
119    Double_t _jet3_eta;
120    Double_t _jet3_phi;
121    Double_t _jet3_energy;
122 +  Double_t _jet4_et;
123    Double_t _jet4_pt;
124    Double_t _jet4_eta;
125    Double_t _jet4_phi;
126    Double_t _jet4_energy;
110
127    Double_t _aplanarity       ;
128    Double_t _centrality       ;
129    Double_t _sphericity       ;
# Line 129 | Line 145 | private:
145    Double_t _jet1Jet2_Pt      ;
146    Double_t _jet1Jet2W_M      ;
147    Double_t _jet1Jet2W_Pt     ;
132
148    Double_t _hz               ;
149    Double_t _HT2              ;
150    Double_t _HT2prime         ;
# Line 137 | Line 152 | private:
152    Double_t _W_M              ;
153    Double_t _W_Pt             ;
154    Double_t _DphiJMET         ;
140                      
155    // Ht              
156    Double_t _getHt            ;
157    Double_t _getHtp           ;
# Line 161 | Line 175 | private:
175    Double_t _getEta2Sum       ;
176    Double_t _getMwRec         ;
177    Double_t _getH             ;
164                      
178    // event topo      
179    Double_t _getSph           ;
180    Double_t _getApl           ;
181    Double_t _getAplMu         ;
169                      
182    // Kt              
183    Double_t _getKtminp        ;
184    Double_t _getKtminpReduced ;
185    Double_t _getDrMinJetJet   ;
174                      
186    // mT              
187    Double_t _getDphiMuMet     ;
188    Double_t _getMt            ;
189 <
190 <  Double_t _lepton_id;
191 <  Double_t _electron_id_robust;
192 <  Double_t _electron_id_loose;
193 <  Double_t _electron_id_tight;
194 <  Double_t _electron_tdrid_medium;
195 <  Double_t _electron_tdrid_loose;
196 <  Double_t _electron_tdrid_tight;
189 >  //
190 >  //
191 >  //_____ b tagging ______________________________________________
192 >  vector<double> * _jet_pt;
193 >  vector<double> * _jet_pz;
194 >  vector<double> * _jet_eta;
195 >  vector<double> * _jet_phi;
196 >  vector<double> * _jet_et;
197 >  vector<double> * _jet_energy;
198 >  vector<int> *    _jet_flavor;
199 >  //
200 >  vector<double> * _muon_pt;
201 >  vector<double> * _muon_pz;
202 >  vector<double> * _muon_eta;
203 >  vector<double> * _muon_phi;
204 >  vector<double> * _muon_et;
205 >  vector<double> * _muon_energy;
206 >  vector<int> *    _muon_flavor;
207 >  //
208 >  vector<double> * _electron_pt;
209 >  vector<double> * _electron_pz;
210 >  vector<double> * _electron_eta;
211 >  vector<double> * _electron_phi;
212 >  vector<double> * _electron_et;
213 >  vector<double> * _electron_energy;
214 >  vector<int> *    _electron_flavor;
215 >  /* FIXME: add vectors of these:
216 >  Double_t _lepton_track_iso;
217 >  Double_t _lepton_calo_iso;
218 >  Double_t _lepton_ecal_iso;
219 >  Double_t _lepton_hcal_iso;
220 >  Double_t _lepton_user_iso;
221 >  Double_t _lepton_IsoDeposit_em;
222 >  Double_t _lepton_IsoDeposit_had;
223 >  */
224 >  TBranch * b_jet_pt;
225 >  TBranch * b_jet_pz;
226 >  TBranch * b_jet_eta;
227 >  TBranch * b_jet_phi;
228 >  TBranch * b_jet_et;
229 >  TBranch * b_jet_energy;
230 >  TBranch * b_jet_flavor;
231 >  //
232 >  TBranch * b_lepton_pt;
233 >  TBranch * b_lepton_pz;
234 >  TBranch * b_lepton_eta;
235 >  TBranch * b_lepton_phi;
236 >  TBranch * b_lepton_et;
237 >  TBranch * b_lepton_energy;
238 >  TBranch * b_lepton_flavor;
239 >  //
240 >  vector<string> * _b_tagger_label;
241 >  vector<float> * _b_tagger_discr;
242 >  TBranch * b_b_tagger_label;
243 >  TBranch * b_b_tagger_discr;
244    Int_t _n_tagged_jets_trackCounting_loose;
245    Int_t _n_tagged_jets_trackCounting_medium;
246    Int_t _n_tagged_jets_trackCounting_tight;
# Line 190 | Line 248 | private:
248    Int_t _n_tagged_jets_jetProb_medium;
249    Int_t _n_tagged_jets_jetProb_tight;
250  
251 +  //
252 +  //
253 +  //_____ electron quality _______________________________________
254 +  Float_t _eidLoose;
255 +  Float_t _eidRobustHighEnergy;
256 +  Float_t _eidRobustLoose;
257 +  Float_t _eidRobustTight;
258 +  Float_t _eidTight;
259 +  Int_t    _GsfElectron_classification;
260 +  Double_t _GsfElectron_hadronicOverEm;
261 +  Double_t _GsfElectron_caloEnergyError;
262 +  Double_t _GsfElectron_trackMomentumError;
263 +  Int_t    _GsfElectron_numberOfClusters;
264 +  Double_t _GsfElectron_caloEnergy;  // the super cluster energy corrected by EnergyScaleFactor
265 +  Double_t _GsfElectron_eSuperClusterOverP;  // the supercluster energy / track momentum at impact point
266 +  Double_t _GsfElectron_eSeedClusterOverPout;  // the seed cluster energy / track momentum at calo from outermost state
267 +  Double_t _GsfElectron_deltaEtaSuperClusterTrackAtVtx;  // the supercluster eta - track eta from helix extrapolation from impact point
268 +  Double_t _GsfElectron_deltaEtaSeedClusterTrackAtCalo;  // the seed cluster eta - track eta at calo from outermost state
269 +  Double_t _GsfElectron_deltaPhiSuperClusterTrackAtVtx;  // the supercluster phi - track phi from helix extrapolation from impact point
270 +  Double_t _GsfElectron_deltaPhiSeedClusterTrackAtCalo;  // the seed cluster phi - track phi at calo from outermost state
271 +  // ____ branches
272 +  TBranch * b_eidLoose;
273 +  TBranch * b_eidRobustHighEnergy;
274 +  TBranch * b_eidRobustLoose;
275 +  TBranch * b_eidRobustTight;
276 +  TBranch * b_eidTight;
277 +  TBranch * b_GsfElectron_classification;
278 +  TBranch * b_GsfElectron_hadronicOverEm;
279 +  TBranch * b_GsfElectron_caloEnergyError;
280 +  TBranch * b_GsfElectron_trackMomentumError;
281 +  TBranch * b_GsfElectron_numberOfClusters;
282 +  TBranch * b_GsfElectron_caloEnergy;  // the super cluster energy corrected by EnergyScaleFactor
283 +  TBranch * b_GsfElectron_eSuperClusterOverP;  // the supercluster energy / track momentum at impact point
284 +  TBranch * b_GsfElectron_eSeedClusterOverPout;  // the seed cluster energy / track momentum at calo from outermost state
285 +  TBranch * b_GsfElectron_deltaEtaSuperClusterTrackAtVtx;  // the supercluster eta - track eta from helix extrapolation from impact point
286 +  TBranch * b_GsfElectron_deltaEtaSeedClusterTrackAtCalo;  // the seed cluster eta - track eta at calo from outermost state
287 +  TBranch * b_GsfElectron_deltaPhiSuperClusterTrackAtVtx;  // the supercluster phi - track phi from helix extrapolation from impact point
288 +  TBranch * b_GsfElectron_deltaPhiSeedClusterTrackAtCalo;  // the seed cluster phi - track phi at calo from outermost state
289 +  //
290 +  //
291 +  //_____ muon quality _______________________________________
292 +  bool _muon_isGood_All;                      // dummy options - always true
293 +  bool _muon_isGood_AllGlobalMuons;           // checks isGlobalMuon flag
294 +  bool _muon_isGood_AllStandAloneMuons;       // checks isStandAloneMuon flag
295 +  bool _muon_isGood_AllTrackerMuons;          // checks isTrackerMuon flag
296 +  bool _muon_isGood_TrackerMuonArbitrated;    // resolve ambiguity of sharing segments
297 +  bool _muon_isGood_AllArbitrated;            // all muons with the tracker muon arbitrated
298 +  bool _muon_isGood_GlobalMuonPromptTight;    // global muons with tighter fit requirements
299 +  bool _muon_isGood_TMLastStationLoose;       // penetration depth loose selector
300 +  bool _muon_isGood_TMLastStationTight;       // penetration depth tight selector
301 +  bool _muon_isGood_TM2DCompatibilityLoose;   // likelihood based loose selector
302 +  bool _muon_isGood_TM2DCompatibilityTight;   // likelihood based tight selector
303 +  bool _muon_isGood_TMOneStationLoose;        // require one well matched segment
304 +  bool _muon_isGood_TMOneStationTight;        // require one well matched segment
305 +  bool _muon_isGood_TMLastStationOptimizedLowPtLoose; // combination of TMLastStation and TMOneStation
306 +  bool _muon_isGood_TMLastStationOptimizedLowPtTight;  // combination of TMLastStation and TMOneStation
307 +  //____ branches
308 +  TBranch * b_muon_isGood_All;                      // dummy options - always true
309 +  TBranch * b_muon_isGood_AllGlobalMuons;           // checks isGlobalMuon flag
310 +  TBranch * b_muon_isGood_AllStandAloneMuons;       // checks isStandAloneMuon flag
311 +  TBranch * b_muon_isGood_AllTrackerMuons;          // checks isTrackerMuon flag
312 +  TBranch * b_muon_isGood_TrackerMuonArbitrated;    // resolve ambiguity of sharing segments
313 +  TBranch * b_muon_isGood_AllArbitrated;            // all muons with the tracker muon arbitrated
314 +  TBranch * b_muon_isGood_GlobalMuonPromptTight;    // global muons with tighter fit requirements
315 +  TBranch * b_muon_isGood_TMLastStationLoose;       // penetration depth loose selector
316 +  TBranch * b_muon_isGood_TMLastStationTight;       // penetration depth tight selector
317 +  TBranch * b_muon_isGood_TM2DCompatibilityLoose;   // likelihood based loose selector
318 +  TBranch * b_muon_isGood_TM2DCompatibilityTight;   // likelihood based tight selector
319 +  TBranch * b_muon_isGood_TMOneStationLoose;        // require one well matched segment
320 +  TBranch * b_muon_isGood_TMOneStationTight;        // require one well matched segment
321 +  TBranch * b_muon_isGood_TMLastStationOptimizedLowPtLoose; // combination of TMLastStation and TMOneStation
322 +  TBranch * b_muon_isGood_TMLastStationOptimizedLowPtTight;  // combination of TMLastStation and TMOneStation
323 +  //____ output tree variables
324    TBranch * b_event;
325    TBranch * b_process_id;
326    TBranch * b_n_jets;
327 +  TBranch * b_n_removed_jets;
328    TBranch * b_n_met;
329    TBranch * b_n_muons;
330    TBranch * b_n_electrons;
331    TBranch * b_lepton_is_muon;
332    TBranch * b_event_weight;
333 <  TBranch * b_lepton_pt;
334 <  TBranch * b_lepton_eta;
335 <  TBranch * b_lepton_phi;
336 <  TBranch * b_lepton_energy;
333 >  //
334 >  TBranch * b_muon_et;
335 >  TBranch * b_muon_pt;
336 >  TBranch * b_muon_pz;
337 >  TBranch * b_muon_eta;
338 >  TBranch * b_muon_phi;
339 >  TBranch * b_muon_energy;
340 >  TBranch * b_muon_flavor;
341 >  //
342 >  TBranch * b_electron_et;
343 >  TBranch * b_electron_pt;
344 >  TBranch * b_electron_pz;
345 >  TBranch * b_electron_eta;
346 >  TBranch * b_electron_phi;
347 >  TBranch * b_electron_energy;
348 >  TBranch * b_electron_flavor;
349 >  //
350    TBranch * b_muon_track_chi2;
351    TBranch * b_muon_track_ndof;
352    TBranch * b_muon_track_nChi2;
# Line 216 | Line 361 | private:
361    TBranch * b_lepton_ecal_iso;
362    TBranch * b_lepton_hcal_iso;
363    TBranch * b_lepton_user_iso;
364 <  TBranch * b_met_pt;
364 >  TBranch * b_lepton_IsoDeposit_em;
365 >  TBranch * b_lepton_IsoDeposit_had;
366    TBranch * b_met_et;
367 +  TBranch * b_met_pt;
368    TBranch * b_met_eta;
369    TBranch * b_met_phi;
370    TBranch * b_met_energy;
371 +  TBranch * b_jet1_et;
372    TBranch * b_jet1_pt;
373    TBranch * b_jet1_eta;
374    TBranch * b_jet1_phi;
375    TBranch * b_jet1_energy;
376 +  TBranch * b_jet2_et;
377    TBranch * b_jet2_pt;
378    TBranch * b_jet2_eta;
379    TBranch * b_jet2_phi;
380    TBranch * b_jet2_energy;
381 +  TBranch * b_jet3_et;
382    TBranch * b_jet3_pt;
383    TBranch * b_jet3_eta;
384    TBranch * b_jet3_phi;
385    TBranch * b_jet3_energy;
386 +  TBranch * b_jet4_et;
387    TBranch * b_jet4_pt;
388    TBranch * b_jet4_eta;
389    TBranch * b_jet4_phi;
390    TBranch * b_jet4_energy;
240  TBranch * b_lepton_id;
241  TBranch * b_electron_id_robust;
242  TBranch * b_electron_id_loose;
243  TBranch * b_electron_id_tight;
244  TBranch * b_electron_tdrid_medium;
245  TBranch * b_electron_tdrid_loose;
246  TBranch * b_electron_tdrid_tight;
391    TBranch * b_n_tagged_jets_trackCounting_loose;
392    TBranch * b_n_tagged_jets_trackCounting_medium;
393    TBranch * b_n_tagged_jets_trackCounting_tight;
394    TBranch * b_n_tagged_jets_jetProb_loose;
395    TBranch * b_n_tagged_jets_jetProb_medium;
396    TBranch * b_n_tagged_jets_jetProb_tight;      
397 <
397 >  // ____
398    TBranch * b_aplanarity       ;
399    TBranch * b_centrality       ;
400    TBranch * b_sphericity       ;
# Line 272 | Line 416 | private:
416    TBranch * b_jet1Jet2_Pt      ;
417    TBranch * b_jet1Jet2W_M      ;
418    TBranch * b_jet1Jet2W_Pt     ;
275                      
419    TBranch * b_hz               ;
420 <  TBranch * b_HT2              ;
421 <  TBranch * b_HT2prime         ;
422 <  TBranch * b_W_MT             ;
420 >  TBranch * b_HT2;
421 >  TBranch * b_HT2prime;
422 >  TBranch * b_W_MT;
423    TBranch * b_W_M              ;
424    TBranch * b_W_Pt             ;
425    TBranch * b_DphiJMET         ;
283                      
426    // Ht              
427    TBranch * b_getHt            ;
428    TBranch * b_getHtp           ;
# Line 304 | Line 446 | private:
446    TBranch * b_getEta2Sum       ;
447    TBranch * b_getMwRec         ;
448    TBranch * b_getH             ;
307                      
449    // event topo      
450    TBranch * b_getSph           ;
451    TBranch * b_getApl           ;
452    TBranch * b_getAplMu         ;
312                      
453    // Kt              
454    TBranch * b_getKtminp        ;
455    TBranch * b_getKtminpReduced ;
456    TBranch * b_getDrMinJetJet   ;
317                      
457    // mT              
458    TBranch * b_getDphiMuMet     ;
459    TBranch * b_getMt            ;
460  
461 <  virtual void beginJob(const edm::EventSetup&) ;
323 <  virtual void analyze(const edm::Event&, const edm::EventSetup&);
324 <  virtual void endJob() ;
461 >  
462   };

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines