ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/LJMet/MultivariateAnalysis/interface/TtLJetsAnalyzer.h
Revision: 1.10
Committed: Mon Apr 6 18:22:33 2009 UTC (16 years, 1 month ago) by kukartse
Content type: text/plain
Branch: MAIN
Changes since 1.9: +20 -11 lines
Log Message:
analyzer overhaul. lepton impact parameter, beamspot etc. added

File Contents

# User Rev Content
1 kukartse 1.1 // -*- C++ -*-
2     //
3     // Package: TtLJetsAnalyzer
4     // Class: TtLJetsAnalyzer
5     //
6     /**\class TtLJetsAnalyzer TtLJetsAnalyzer.cc RecoBTag/TtLJetsAnalyzer/src/TtLJetsAnalyzer.cc
7    
8     Description: Likelihood variables for ttbar events
9    
10     Implementation:
11     Ttbar cross section without b tagging. Likelihood quantities.
12     */
13     //
14     // Original Author: Gena Kukartsev, kukarzev@fnal.gov
15     // Created: Fri Jun 20 06:19:59 CDT 2008
16 kukartse 1.10 // $Id: TtLJetsAnalyzer.h,v 1.9 2009/04/02 16:43:50 kukartse Exp $
17 kukartse 1.1 //
18     //
19    
20 kukartse 1.8 #include "LJMet/MultivariateAnalysis/interface/RooGKCounter.h"
21    
22 kukartse 1.1 #include <memory>
23     #include <string>
24 kukartse 1.10 //#include "TFile.h"
25 kukartse 1.8 #include "TTree.h"
26     #include "Rtypes.h"
27 kukartse 1.1 #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"
32    
33 kukartse 1.10 #include "FWCore/ServiceRegistry/interface/Service.h"
34     #include "PhysicsTools/UtilAlgos/interface/TFileService.h"
35    
36 kukartse 1.1 class TtLJetsAnalyzer : public edm::EDAnalyzer {
37     public:
38     explicit TtLJetsAnalyzer(const edm::ParameterSet&);
39     ~TtLJetsAnalyzer();
40    
41    
42     private:
43 kukartse 1.4
44     virtual void beginJob(const edm::EventSetup&);
45     virtual void analyze(const edm::Event&, const edm::EventSetup&);
46     virtual void endJob(void);
47    
48 kukartse 1.10 edm::Service<TFileService> fs;
49    
50 kukartse 1.5 // _____ quantities read from the config file _________________________
51 kukartse 1.10 std::string _jetSource, _electronSource, _muonSource, _METSource, _beamSpotSource;
52     bool _lepton_flavor_is_muon;
53 kukartse 1.1 std::string _outFile;
54 kukartse 1.8 bool _is_mc;
55 kukartse 1.1 int nCaloJets_min;
56     int nLepton_min;
57 jindal 1.6 double jet_pt_min ;
58 kukartse 1.1 double jet_eta_max ;
59     double muon_pt_min ;
60     double muon_eta_max ;
61     double muon_trackIso_max ;
62     double muon_caloIso_max ;
63     double electron_pt_min ;
64     double electron_eta_max ;
65     double electron_trackIso_max ;
66     double electron_caloIso_max ;
67     double met_et_min ;
68 kukartse 1.7 double min_dr_jet_lepton ;
69 kukartse 1.1
70     RooGKCounter eventCounter;
71     RooGKCounter selectedEvents;
72    
73     TTree * _tree;
74    
75 kukartse 1.5 //
76     // _____ output tree variables ________________________________________
77 kukartse 1.1 Int_t _event;
78     Int_t _process_id;
79     Int_t _n_jets;
80 kukartse 1.7 Int_t _n_removed_jets;
81 kukartse 1.1 Int_t _n_met;
82     Int_t _n_muons;
83     Int_t _n_electrons;
84     Int_t _lepton_is_muon;
85     Double_t _event_weight;
86 kukartse 1.5 Double_t _lepton_et;
87 kukartse 1.1 Double_t _lepton_pt;
88     Double_t _lepton_eta;
89     Double_t _lepton_phi;
90 kukartse 1.10 Double_t _lepton_ptrel; // relative to the nearest jet
91     Double_t _lepton_d0; // relative to the beam spot
92     Double_t _lepton_d0_err; // relative to the beam spot
93     Double_t _lepton_d0_significance; // relative to the beam spot
94 kukartse 1.1 Double_t _lepton_energy;
95 kukartse 1.10 Double_t _lepton_track_iso;
96     Double_t _lepton_calo_iso;
97     Double_t _lepton_ecal_iso;
98     Double_t _lepton_hcal_iso;
99     Double_t _lepton_user_iso;
100     Double_t _lepton_IsoDeposit_em;
101     Double_t _lepton_IsoDeposit_had;
102 kukartse 1.3 Double_t _muon_track_chi2;
103     Double_t _muon_track_ndof;
104     Double_t _muon_track_nChi2;
105     Double_t _muon_outerTrack_chi2;
106     Double_t _muon_outerTrack_ndof;
107     Double_t _muon_outerTrack_nChi2;
108     Double_t _muon_globalTrack_chi2;
109     Double_t _muon_globalTrack_ndof;
110     Double_t _muon_globalTrack_nChi2;
111 kukartse 1.5 Double_t _met_et;
112 kukartse 1.1 Double_t _met_pt;
113     Double_t _met_eta;
114     Double_t _met_phi;
115     Double_t _met_energy;
116 kukartse 1.5 Double_t _jet1_et;
117 kukartse 1.1 Double_t _jet1_pt;
118     Double_t _jet1_eta;
119     Double_t _jet1_phi;
120     Double_t _jet1_energy;
121 kukartse 1.5 Double_t _jet2_et;
122 kukartse 1.1 Double_t _jet2_pt;
123     Double_t _jet2_eta;
124     Double_t _jet2_phi;
125     Double_t _jet2_energy;
126 kukartse 1.5 Double_t _jet3_et;
127 kukartse 1.1 Double_t _jet3_pt;
128     Double_t _jet3_eta;
129     Double_t _jet3_phi;
130     Double_t _jet3_energy;
131 kukartse 1.5 Double_t _jet4_et;
132 kukartse 1.1 Double_t _jet4_pt;
133     Double_t _jet4_eta;
134     Double_t _jet4_phi;
135     Double_t _jet4_energy;
136     Double_t _aplanarity ;
137     Double_t _centrality ;
138     Double_t _sphericity ;
139     Double_t _ht ;
140     Double_t _htPlusLepton ;
141     Double_t _metHtPlusLepton ;
142     Double_t _h ;
143     Double_t _ktMinPrime ;
144     Double_t _dPhiLMet ;
145     Double_t _minDijetMass ;
146     Double_t _maxJetEta ;
147     Double_t _et3 ;
148     Double_t _minDiJetDeltaR ;
149     Double_t _leptonJetDeltaR ;
150     Double_t _ht2p ;
151     Double_t _jet1Jet2DeltaR ;
152     Double_t _jet1Jet2DeltaPhi ;
153     Double_t _jet1Jet2_M ;
154     Double_t _jet1Jet2_Pt ;
155     Double_t _jet1Jet2W_M ;
156     Double_t _jet1Jet2W_Pt ;
157     Double_t _hz ;
158     Double_t _HT2 ;
159     Double_t _HT2prime ;
160     Double_t _W_MT ;
161     Double_t _W_M ;
162     Double_t _W_Pt ;
163     Double_t _DphiJMET ;
164     // Ht
165     Double_t _getHt ;
166     Double_t _getHtp ;
167     Double_t _getHtpp ;
168     Double_t _getHt2 ;
169     Double_t _getHt2p ;
170     Double_t _getHt2pp ;
171     Double_t _getHt3 ;
172     Double_t _getHt3p ;
173     Double_t _getHt3pp ;
174     Double_t _getCen ;
175     Double_t _getNJW ;
176     Double_t _getJetEtaMax ;
177     Double_t _getMdijetMin ;
178     Double_t _getMtjets ;
179     Double_t _getSqrtsT ;
180     Double_t _getMtAurelio ;
181     Double_t _getPzOverHT ;
182     Double_t _getMevent ;
183     Double_t _getM123inv ;
184     Double_t _getEta2Sum ;
185     Double_t _getMwRec ;
186     Double_t _getH ;
187     // event topo
188     Double_t _getSph ;
189     Double_t _getApl ;
190     Double_t _getAplMu ;
191     // Kt
192     Double_t _getKtminp ;
193     Double_t _getKtminpReduced ;
194     Double_t _getDrMinJetJet ;
195     // mT
196     Double_t _getDphiMuMet ;
197     Double_t _getMt ;
198 kukartse 1.5 //
199     //
200     //_____ b tagging ______________________________________________
201 kukartse 1.8 vector<double> * _jet_pt;
202     vector<double> * _jet_pz;
203     vector<double> * _jet_eta;
204     vector<double> * _jet_phi;
205     vector<double> * _jet_et;
206     vector<double> * _jet_energy;
207     vector<int> * _jet_flavor;
208 kukartse 1.9 //
209     vector<double> * _muon_pt;
210     vector<double> * _muon_pz;
211     vector<double> * _muon_eta;
212     vector<double> * _muon_phi;
213     vector<double> * _muon_et;
214     vector<double> * _muon_energy;
215     vector<int> * _muon_flavor;
216     //
217     vector<double> * _electron_pt;
218     vector<double> * _electron_pz;
219     vector<double> * _electron_eta;
220     vector<double> * _electron_phi;
221     vector<double> * _electron_et;
222     vector<double> * _electron_energy;
223     vector<int> * _electron_flavor;
224 kukartse 1.8 /* FIXME: add vectors of these:
225     Double_t _lepton_track_iso;
226     Double_t _lepton_calo_iso;
227     Double_t _lepton_ecal_iso;
228     Double_t _lepton_hcal_iso;
229     Double_t _lepton_user_iso;
230     Double_t _lepton_IsoDeposit_em;
231     Double_t _lepton_IsoDeposit_had;
232     */
233     TBranch * b_jet_pt;
234     TBranch * b_jet_pz;
235     TBranch * b_jet_eta;
236     TBranch * b_jet_phi;
237     TBranch * b_jet_et;
238     TBranch * b_jet_energy;
239     TBranch * b_jet_flavor;
240 kukartse 1.9 //
241     TBranch * b_lepton_pt;
242     TBranch * b_lepton_pz;
243     TBranch * b_lepton_eta;
244     TBranch * b_lepton_phi;
245     TBranch * b_lepton_et;
246     TBranch * b_lepton_energy;
247     TBranch * b_lepton_flavor;
248     //
249 kukartse 1.5 vector<string> * _b_tagger_label;
250     vector<float> * _b_tagger_discr;
251     TBranch * b_b_tagger_label;
252     TBranch * b_b_tagger_discr;
253 kukartse 1.4 Int_t _n_tagged_jets_trackCounting_loose;
254     Int_t _n_tagged_jets_trackCounting_medium;
255     Int_t _n_tagged_jets_trackCounting_tight;
256     Int_t _n_tagged_jets_jetProb_loose;
257     Int_t _n_tagged_jets_jetProb_medium;
258     Int_t _n_tagged_jets_jetProb_tight;
259 kukartse 1.1
260 kukartse 1.4 //
261     //
262     //_____ electron quality _______________________________________
263 kukartse 1.5 Float_t _eidLoose;
264     Float_t _eidRobustHighEnergy;
265     Float_t _eidRobustLoose;
266     Float_t _eidRobustTight;
267     Float_t _eidTight;
268 kukartse 1.4 Int_t _GsfElectron_classification;
269     Double_t _GsfElectron_hadronicOverEm;
270     Double_t _GsfElectron_caloEnergyError;
271     Double_t _GsfElectron_trackMomentumError;
272     Int_t _GsfElectron_numberOfClusters;
273     Double_t _GsfElectron_caloEnergy; // the super cluster energy corrected by EnergyScaleFactor
274     Double_t _GsfElectron_eSuperClusterOverP; // the supercluster energy / track momentum at impact point
275     Double_t _GsfElectron_eSeedClusterOverPout; // the seed cluster energy / track momentum at calo from outermost state
276     Double_t _GsfElectron_deltaEtaSuperClusterTrackAtVtx; // the supercluster eta - track eta from helix extrapolation from impact point
277     Double_t _GsfElectron_deltaEtaSeedClusterTrackAtCalo; // the seed cluster eta - track eta at calo from outermost state
278     Double_t _GsfElectron_deltaPhiSuperClusterTrackAtVtx; // the supercluster phi - track phi from helix extrapolation from impact point
279     Double_t _GsfElectron_deltaPhiSeedClusterTrackAtCalo; // the seed cluster phi - track phi at calo from outermost state
280     // ____ branches
281 kukartse 1.5 TBranch * b_eidLoose;
282     TBranch * b_eidRobustHighEnergy;
283     TBranch * b_eidRobustLoose;
284     TBranch * b_eidRobustTight;
285     TBranch * b_eidTight;
286 kukartse 1.4 TBranch * b_GsfElectron_classification;
287     TBranch * b_GsfElectron_hadronicOverEm;
288     TBranch * b_GsfElectron_caloEnergyError;
289     TBranch * b_GsfElectron_trackMomentumError;
290     TBranch * b_GsfElectron_numberOfClusters;
291     TBranch * b_GsfElectron_caloEnergy; // the super cluster energy corrected by EnergyScaleFactor
292     TBranch * b_GsfElectron_eSuperClusterOverP; // the supercluster energy / track momentum at impact point
293     TBranch * b_GsfElectron_eSeedClusterOverPout; // the seed cluster energy / track momentum at calo from outermost state
294     TBranch * b_GsfElectron_deltaEtaSuperClusterTrackAtVtx; // the supercluster eta - track eta from helix extrapolation from impact point
295     TBranch * b_GsfElectron_deltaEtaSeedClusterTrackAtCalo; // the seed cluster eta - track eta at calo from outermost state
296     TBranch * b_GsfElectron_deltaPhiSuperClusterTrackAtVtx; // the supercluster phi - track phi from helix extrapolation from impact point
297     TBranch * b_GsfElectron_deltaPhiSeedClusterTrackAtCalo; // the seed cluster phi - track phi at calo from outermost state
298     //
299     //
300     //_____ muon quality _______________________________________
301     bool _muon_isGood_All; // dummy options - always true
302     bool _muon_isGood_AllGlobalMuons; // checks isGlobalMuon flag
303     bool _muon_isGood_AllStandAloneMuons; // checks isStandAloneMuon flag
304     bool _muon_isGood_AllTrackerMuons; // checks isTrackerMuon flag
305     bool _muon_isGood_TrackerMuonArbitrated; // resolve ambiguity of sharing segments
306     bool _muon_isGood_AllArbitrated; // all muons with the tracker muon arbitrated
307     bool _muon_isGood_GlobalMuonPromptTight; // global muons with tighter fit requirements
308     bool _muon_isGood_TMLastStationLoose; // penetration depth loose selector
309     bool _muon_isGood_TMLastStationTight; // penetration depth tight selector
310     bool _muon_isGood_TM2DCompatibilityLoose; // likelihood based loose selector
311     bool _muon_isGood_TM2DCompatibilityTight; // likelihood based tight selector
312     bool _muon_isGood_TMOneStationLoose; // require one well matched segment
313     bool _muon_isGood_TMOneStationTight; // require one well matched segment
314     bool _muon_isGood_TMLastStationOptimizedLowPtLoose; // combination of TMLastStation and TMOneStation
315     bool _muon_isGood_TMLastStationOptimizedLowPtTight; // combination of TMLastStation and TMOneStation
316     //____ branches
317     TBranch * b_muon_isGood_All; // dummy options - always true
318     TBranch * b_muon_isGood_AllGlobalMuons; // checks isGlobalMuon flag
319     TBranch * b_muon_isGood_AllStandAloneMuons; // checks isStandAloneMuon flag
320     TBranch * b_muon_isGood_AllTrackerMuons; // checks isTrackerMuon flag
321     TBranch * b_muon_isGood_TrackerMuonArbitrated; // resolve ambiguity of sharing segments
322     TBranch * b_muon_isGood_AllArbitrated; // all muons with the tracker muon arbitrated
323     TBranch * b_muon_isGood_GlobalMuonPromptTight; // global muons with tighter fit requirements
324     TBranch * b_muon_isGood_TMLastStationLoose; // penetration depth loose selector
325     TBranch * b_muon_isGood_TMLastStationTight; // penetration depth tight selector
326     TBranch * b_muon_isGood_TM2DCompatibilityLoose; // likelihood based loose selector
327     TBranch * b_muon_isGood_TM2DCompatibilityTight; // likelihood based tight selector
328     TBranch * b_muon_isGood_TMOneStationLoose; // require one well matched segment
329     TBranch * b_muon_isGood_TMOneStationTight; // require one well matched segment
330     TBranch * b_muon_isGood_TMLastStationOptimizedLowPtLoose; // combination of TMLastStation and TMOneStation
331     TBranch * b_muon_isGood_TMLastStationOptimizedLowPtTight; // combination of TMLastStation and TMOneStation
332     //____ output tree variables
333 kukartse 1.1 TBranch * b_event;
334     TBranch * b_process_id;
335     TBranch * b_n_jets;
336 kukartse 1.8 TBranch * b_n_removed_jets;
337 kukartse 1.1 TBranch * b_n_met;
338     TBranch * b_n_muons;
339     TBranch * b_n_electrons;
340     TBranch * b_lepton_is_muon;
341     TBranch * b_event_weight;
342 kukartse 1.9 //
343     TBranch * b_muon_et;
344     TBranch * b_muon_pt;
345     TBranch * b_muon_pz;
346     TBranch * b_muon_eta;
347     TBranch * b_muon_phi;
348     TBranch * b_muon_energy;
349     TBranch * b_muon_flavor;
350     //
351     TBranch * b_electron_et;
352     TBranch * b_electron_pt;
353     TBranch * b_electron_pz;
354     TBranch * b_electron_eta;
355     TBranch * b_electron_phi;
356     TBranch * b_electron_energy;
357     TBranch * b_electron_flavor;
358     //
359 kukartse 1.3 TBranch * b_muon_track_chi2;
360     TBranch * b_muon_track_ndof;
361     TBranch * b_muon_track_nChi2;
362     TBranch * b_muon_outerTrack_chi2;
363     TBranch * b_muon_outerTrack_ndof;
364     TBranch * b_muon_outerTrack_nChi2;
365     TBranch * b_muon_globalTrack_chi2;
366     TBranch * b_muon_globalTrack_ndof;
367     TBranch * b_muon_globalTrack_nChi2;
368 kukartse 1.1 TBranch * b_lepton_track_iso;
369     TBranch * b_lepton_calo_iso;
370 kukartse 1.2 TBranch * b_lepton_ecal_iso;
371     TBranch * b_lepton_hcal_iso;
372     TBranch * b_lepton_user_iso;
373 kukartse 1.8 TBranch * b_lepton_IsoDeposit_em;
374     TBranch * b_lepton_IsoDeposit_had;
375 kukartse 1.5 TBranch * b_met_et;
376 kukartse 1.1 TBranch * b_met_pt;
377     TBranch * b_met_eta;
378     TBranch * b_met_phi;
379     TBranch * b_met_energy;
380 kukartse 1.5 TBranch * b_jet1_et;
381 kukartse 1.1 TBranch * b_jet1_pt;
382     TBranch * b_jet1_eta;
383     TBranch * b_jet1_phi;
384     TBranch * b_jet1_energy;
385 kukartse 1.5 TBranch * b_jet2_et;
386 kukartse 1.1 TBranch * b_jet2_pt;
387     TBranch * b_jet2_eta;
388     TBranch * b_jet2_phi;
389     TBranch * b_jet2_energy;
390 kukartse 1.5 TBranch * b_jet3_et;
391 kukartse 1.1 TBranch * b_jet3_pt;
392     TBranch * b_jet3_eta;
393     TBranch * b_jet3_phi;
394     TBranch * b_jet3_energy;
395 kukartse 1.5 TBranch * b_jet4_et;
396 kukartse 1.1 TBranch * b_jet4_pt;
397     TBranch * b_jet4_eta;
398     TBranch * b_jet4_phi;
399     TBranch * b_jet4_energy;
400     TBranch * b_n_tagged_jets_trackCounting_loose;
401     TBranch * b_n_tagged_jets_trackCounting_medium;
402     TBranch * b_n_tagged_jets_trackCounting_tight;
403     TBranch * b_n_tagged_jets_jetProb_loose;
404     TBranch * b_n_tagged_jets_jetProb_medium;
405     TBranch * b_n_tagged_jets_jetProb_tight;
406 kukartse 1.4 // ____
407 kukartse 1.1 TBranch * b_aplanarity ;
408     TBranch * b_centrality ;
409     TBranch * b_sphericity ;
410     TBranch * b_ht ;
411     TBranch * b_htPlusLepton ;
412     TBranch * b_metHtPlusLepton ;
413     TBranch * b_h ;
414     TBranch * b_ktMinPrime ;
415     TBranch * b_dPhiLMet ;
416     TBranch * b_minDijetMass ;
417     TBranch * b_maxJetEta ;
418     TBranch * b_et3 ;
419     TBranch * b_minDiJetDeltaR ;
420     TBranch * b_leptonJetDeltaR ;
421     TBranch * b_ht2p ;
422     TBranch * b_jet1Jet2DeltaR ;
423     TBranch * b_jet1Jet2DeltaPhi ;
424     TBranch * b_jet1Jet2_M ;
425     TBranch * b_jet1Jet2_Pt ;
426     TBranch * b_jet1Jet2W_M ;
427     TBranch * b_jet1Jet2W_Pt ;
428     TBranch * b_hz ;
429 kukartse 1.4 TBranch * b_HT2;
430     TBranch * b_HT2prime;
431     TBranch * b_W_MT;
432 kukartse 1.1 TBranch * b_W_M ;
433     TBranch * b_W_Pt ;
434     TBranch * b_DphiJMET ;
435     // Ht
436     TBranch * b_getHt ;
437     TBranch * b_getHtp ;
438     TBranch * b_getHtpp ;
439     TBranch * b_getHt2 ;
440     TBranch * b_getHt2p ;
441     TBranch * b_getHt2pp ;
442     TBranch * b_getHt3 ;
443     TBranch * b_getHt3p ;
444     TBranch * b_getHt3pp ;
445     TBranch * b_getCen ;
446     TBranch * b_getNJW ;
447     TBranch * b_getJetEtaMax ;
448     TBranch * b_getMdijetMin ;
449     TBranch * b_getMtjets ;
450     TBranch * b_getSqrtsT ;
451     TBranch * b_getMtAurelio ;
452     TBranch * b_getPzOverHT ;
453     TBranch * b_getMevent ;
454     TBranch * b_getM123inv ;
455     TBranch * b_getEta2Sum ;
456     TBranch * b_getMwRec ;
457     TBranch * b_getH ;
458     // event topo
459     TBranch * b_getSph ;
460     TBranch * b_getApl ;
461     TBranch * b_getAplMu ;
462     // Kt
463     TBranch * b_getKtminp ;
464     TBranch * b_getKtminpReduced ;
465     TBranch * b_getDrMinJetJet ;
466     // mT
467     TBranch * b_getDphiMuMet ;
468     TBranch * b_getMt ;
469    
470 kukartse 1.4
471 kukartse 1.1 };