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.2 by kukartse, Thu Nov 20 17:27:21 2008 UTC vs.
Revision 1.11 by kukartse, Tue Apr 7 08:43:48 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"
32  
33 < #include "TFile.h"
34 < #include "TTree.h"
32 < #include "Rtypes.h"
33 > #include "FWCore/ServiceRegistry/interface/Service.h"
34 > #include "PhysicsTools/UtilAlgos/interface/TFileService.h"
35  
36   class TtLJetsAnalyzer : public edm::EDAnalyzer {
37   public:
# Line 38 | Line 40 | public:
40    
41    
42   private:
43 <  std::string _jetSource, _electronSource, _muonSource, _METSource;
43 >
44 >  virtual void beginJob(const edm::EventSetup&);
45 >  virtual void analyze(const edm::Event&, const edm::EventSetup&);
46 >  virtual void endJob(void);
47 >
48 >  edm::Service<TFileService> fs;
49 >
50 >  // _____ quantities read from the config file _________________________
51 >  std::string _jetSource, _electronSource, _muonSource, _METSource, _beamSpotSource;
52 >  bool _lepton_flavor_is_muon;
53    std::string _outFile;
54 +  bool _is_mc;
55    int nCaloJets_min;
56    int nLepton_min;
57    double jet_pt_min            ;
# Line 53 | Line 65 | private:
65    double electron_trackIso_max ;
66    double electron_caloIso_max  ;
67    double met_et_min            ;
68 +  double min_dr_jet_lepton     ;
69  
70    RooGKCounter eventCounter;
71    RooGKCounter selectedEvents;
72  
60  TFile * _file;
73    TTree * _tree;
74  
75 +  //
76 +  // _____ output tree variables ________________________________________
77    Int_t _event;
78    Int_t _process_id;
79    Int_t _n_jets;
80 +  Int_t _n_removed_jets;
81    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 +  Double_t _lepton_et;
87    Double_t _lepton_pt;
88    Double_t _lepton_eta;
89    Double_t _lepton_phi;
90 +  Double_t _lepton_jet_min_dr;
91 +  Double_t _lepton_ptrel; // relative to the nearest jet
92 +  Double_t _lepton_d0;    // relative to the beam spot
93 +  Double_t _lepton_d0_err;    // relative to the beam spot
94 +  Double_t _lepton_d0_significance;    // relative to the beam spot
95    Double_t _lepton_energy;
75  Double_t _lepton_track_chi2;
76  Double_t _lepton_track_ndof;
77  Double_t _lepton_track_nChi2;
96    Double_t _lepton_track_iso;
97    Double_t _lepton_calo_iso;
98    Double_t _lepton_ecal_iso;
99    Double_t _lepton_hcal_iso;
100    Double_t _lepton_user_iso;
101 <  Double_t _met_pt;
101 >  Double_t _lepton_IsoDeposit_em;
102 >  Double_t _lepton_IsoDeposit_had;
103 >  Double_t _muon_track_chi2;
104 >  Double_t _muon_track_ndof;
105 >  Double_t _muon_track_nChi2;
106 >  Double_t _muon_outerTrack_chi2;
107 >  Double_t _muon_outerTrack_ndof;
108 >  Double_t _muon_outerTrack_nChi2;
109 >  Double_t _muon_globalTrack_chi2;
110 >  Double_t _muon_globalTrack_ndof;
111 >  Double_t _muon_globalTrack_nChi2;
112    Double_t _met_et;
113 +  Double_t _met_pt;
114    Double_t _met_eta;
115    Double_t _met_phi;
116    Double_t _met_energy;
117 +  Double_t _jet1_et;
118    Double_t _jet1_pt;
119    Double_t _jet1_eta;
120    Double_t _jet1_phi;
121    Double_t _jet1_energy;
122 +  Double_t _jet2_et;
123    Double_t _jet2_pt;
124    Double_t _jet2_eta;
125    Double_t _jet2_phi;
126    Double_t _jet2_energy;
127 +  Double_t _jet3_et;
128    Double_t _jet3_pt;
129    Double_t _jet3_eta;
130    Double_t _jet3_phi;
131    Double_t _jet3_energy;
132 +  Double_t _jet4_et;
133    Double_t _jet4_pt;
134    Double_t _jet4_eta;
135    Double_t _jet4_phi;
136    Double_t _jet4_energy;
104
137    Double_t _aplanarity       ;
138    Double_t _centrality       ;
139    Double_t _sphericity       ;
# Line 123 | Line 155 | private:
155    Double_t _jet1Jet2_Pt      ;
156    Double_t _jet1Jet2W_M      ;
157    Double_t _jet1Jet2W_Pt     ;
126
158    Double_t _hz               ;
159    Double_t _HT2              ;
160    Double_t _HT2prime         ;
# Line 131 | Line 162 | private:
162    Double_t _W_M              ;
163    Double_t _W_Pt             ;
164    Double_t _DphiJMET         ;
134                      
165    // Ht              
166    Double_t _getHt            ;
167    Double_t _getHtp           ;
# Line 155 | Line 185 | private:
185    Double_t _getEta2Sum       ;
186    Double_t _getMwRec         ;
187    Double_t _getH             ;
158                      
188    // event topo      
189    Double_t _getSph           ;
190    Double_t _getApl           ;
191    Double_t _getAplMu         ;
163                      
192    // Kt              
193    Double_t _getKtminp        ;
194    Double_t _getKtminpReduced ;
195    Double_t _getDrMinJetJet   ;
168                      
196    // mT              
197    Double_t _getDphiMuMet     ;
198    Double_t _getMt            ;
199 <
200 <  Double_t _lepton_id;
201 <  Double_t _electron_id_robust;
202 <  Double_t _electron_id_loose;
203 <  Double_t _electron_id_tight;
204 <  Double_t _electron_tdrid_medium;
205 <  Double_t _electron_tdrid_loose;
206 <  Double_t _electron_tdrid_tight;
199 >  //
200 >  //
201 >  //_____ b tagging ______________________________________________
202 >  vector<double> * _jet_pt;
203 >  vector<double> * _jet_pz;
204 >  vector<double> * _jet_eta;
205 >  vector<double> * _jet_phi;
206 >  vector<double> * _jet_et;
207 >  vector<double> * _jet_energy;
208 >  vector<int> *    _jet_flavor;
209 >  //
210 >  vector<double> * _muon_pt;
211 >  vector<double> * _muon_pz;
212 >  vector<double> * _muon_eta;
213 >  vector<double> * _muon_phi;
214 >  vector<double> * _muon_et;
215 >  vector<double> * _muon_energy;
216 >  vector<int> *    _muon_flavor;
217 >  //
218 >  vector<double> * _electron_pt;
219 >  vector<double> * _electron_pz;
220 >  vector<double> * _electron_eta;
221 >  vector<double> * _electron_phi;
222 >  vector<double> * _electron_et;
223 >  vector<double> * _electron_energy;
224 >  vector<int> *    _electron_flavor;
225 >  /* FIXME: add vectors of these:
226 >  Double_t _lepton_track_iso;
227 >  Double_t _lepton_calo_iso;
228 >  Double_t _lepton_ecal_iso;
229 >  Double_t _lepton_hcal_iso;
230 >  Double_t _lepton_user_iso;
231 >  Double_t _lepton_IsoDeposit_em;
232 >  Double_t _lepton_IsoDeposit_had;
233 >  */
234 >  TBranch * b_jet_pt;
235 >  TBranch * b_jet_pz;
236 >  TBranch * b_jet_eta;
237 >  TBranch * b_jet_phi;
238 >  TBranch * b_jet_et;
239 >  TBranch * b_jet_energy;
240 >  TBranch * b_jet_flavor;
241 >  //
242 >  TBranch * b_lepton_pt;
243 >  TBranch * b_lepton_pz;
244 >  TBranch * b_lepton_eta;
245 >  TBranch * b_lepton_phi;
246 >  TBranch * b_lepton_et;
247 >  TBranch * b_lepton_energy;
248 >  TBranch * b_lepton_flavor;
249 >  TBranch * b_lepton_jet_min_dr;
250 >  TBranch * b_lepton_ptrel;
251 >  TBranch * b_lepton_d0;
252 >  TBranch * b_lepton_d0_err;
253 >  TBranch * b_lepton_d0_significance;
254 >  //
255 >  vector<string> * _b_tagger_label;
256 >  vector<float> * _b_tagger_discr;
257 >  TBranch * b_b_tagger_label;
258 >  TBranch * b_b_tagger_discr;
259    Int_t _n_tagged_jets_trackCounting_loose;
260    Int_t _n_tagged_jets_trackCounting_medium;
261    Int_t _n_tagged_jets_trackCounting_tight;
# Line 184 | Line 263 | private:
263    Int_t _n_tagged_jets_jetProb_medium;
264    Int_t _n_tagged_jets_jetProb_tight;
265  
266 +  //
267 +  //
268 +  //_____ electron quality _______________________________________
269 +  Float_t _eidLoose;
270 +  Float_t _eidRobustHighEnergy;
271 +  Float_t _eidRobustLoose;
272 +  Float_t _eidRobustTight;
273 +  Float_t _eidTight;
274 +  Int_t    _GsfElectron_classification;
275 +  Double_t _GsfElectron_hadronicOverEm;
276 +  Double_t _GsfElectron_caloEnergyError;
277 +  Double_t _GsfElectron_trackMomentumError;
278 +  Int_t    _GsfElectron_numberOfClusters;
279 +  Double_t _GsfElectron_caloEnergy;  // the super cluster energy corrected by EnergyScaleFactor
280 +  Double_t _GsfElectron_eSuperClusterOverP;  // the supercluster energy / track momentum at impact point
281 +  Double_t _GsfElectron_eSeedClusterOverPout;  // the seed cluster energy / track momentum at calo from outermost state
282 +  Double_t _GsfElectron_deltaEtaSuperClusterTrackAtVtx;  // the supercluster eta - track eta from helix extrapolation from impact point
283 +  Double_t _GsfElectron_deltaEtaSeedClusterTrackAtCalo;  // the seed cluster eta - track eta at calo from outermost state
284 +  Double_t _GsfElectron_deltaPhiSuperClusterTrackAtVtx;  // the supercluster phi - track phi from helix extrapolation from impact point
285 +  Double_t _GsfElectron_deltaPhiSeedClusterTrackAtCalo;  // the seed cluster phi - track phi at calo from outermost state
286 +  // ____ branches
287 +  TBranch * b_eidLoose;
288 +  TBranch * b_eidRobustHighEnergy;
289 +  TBranch * b_eidRobustLoose;
290 +  TBranch * b_eidRobustTight;
291 +  TBranch * b_eidTight;
292 +  TBranch * b_GsfElectron_classification;
293 +  TBranch * b_GsfElectron_hadronicOverEm;
294 +  TBranch * b_GsfElectron_caloEnergyError;
295 +  TBranch * b_GsfElectron_trackMomentumError;
296 +  TBranch * b_GsfElectron_numberOfClusters;
297 +  TBranch * b_GsfElectron_caloEnergy;  // the super cluster energy corrected by EnergyScaleFactor
298 +  TBranch * b_GsfElectron_eSuperClusterOverP;  // the supercluster energy / track momentum at impact point
299 +  TBranch * b_GsfElectron_eSeedClusterOverPout;  // the seed cluster energy / track momentum at calo from outermost state
300 +  TBranch * b_GsfElectron_deltaEtaSuperClusterTrackAtVtx;  // the supercluster eta - track eta from helix extrapolation from impact point
301 +  TBranch * b_GsfElectron_deltaEtaSeedClusterTrackAtCalo;  // the seed cluster eta - track eta at calo from outermost state
302 +  TBranch * b_GsfElectron_deltaPhiSuperClusterTrackAtVtx;  // the supercluster phi - track phi from helix extrapolation from impact point
303 +  TBranch * b_GsfElectron_deltaPhiSeedClusterTrackAtCalo;  // the seed cluster phi - track phi at calo from outermost state
304 +  //
305 +  //
306 +  //_____ muon quality _______________________________________
307 +  bool _muon_isGood_All;                      // dummy options - always true
308 +  bool _muon_isGood_AllGlobalMuons;           // checks isGlobalMuon flag
309 +  bool _muon_isGood_AllStandAloneMuons;       // checks isStandAloneMuon flag
310 +  bool _muon_isGood_AllTrackerMuons;          // checks isTrackerMuon flag
311 +  bool _muon_isGood_TrackerMuonArbitrated;    // resolve ambiguity of sharing segments
312 +  bool _muon_isGood_AllArbitrated;            // all muons with the tracker muon arbitrated
313 +  bool _muon_isGood_GlobalMuonPromptTight;    // global muons with tighter fit requirements
314 +  bool _muon_isGood_TMLastStationLoose;       // penetration depth loose selector
315 +  bool _muon_isGood_TMLastStationTight;       // penetration depth tight selector
316 +  bool _muon_isGood_TM2DCompatibilityLoose;   // likelihood based loose selector
317 +  bool _muon_isGood_TM2DCompatibilityTight;   // likelihood based tight selector
318 +  bool _muon_isGood_TMOneStationLoose;        // require one well matched segment
319 +  bool _muon_isGood_TMOneStationTight;        // require one well matched segment
320 +  bool _muon_isGood_TMLastStationOptimizedLowPtLoose; // combination of TMLastStation and TMOneStation
321 +  bool _muon_isGood_TMLastStationOptimizedLowPtTight;  // combination of TMLastStation and TMOneStation
322 +  //____ branches
323 +  TBranch * b_muon_isGood_All;                      // dummy options - always true
324 +  TBranch * b_muon_isGood_AllGlobalMuons;           // checks isGlobalMuon flag
325 +  TBranch * b_muon_isGood_AllStandAloneMuons;       // checks isStandAloneMuon flag
326 +  TBranch * b_muon_isGood_AllTrackerMuons;          // checks isTrackerMuon flag
327 +  TBranch * b_muon_isGood_TrackerMuonArbitrated;    // resolve ambiguity of sharing segments
328 +  TBranch * b_muon_isGood_AllArbitrated;            // all muons with the tracker muon arbitrated
329 +  TBranch * b_muon_isGood_GlobalMuonPromptTight;    // global muons with tighter fit requirements
330 +  TBranch * b_muon_isGood_TMLastStationLoose;       // penetration depth loose selector
331 +  TBranch * b_muon_isGood_TMLastStationTight;       // penetration depth tight selector
332 +  TBranch * b_muon_isGood_TM2DCompatibilityLoose;   // likelihood based loose selector
333 +  TBranch * b_muon_isGood_TM2DCompatibilityTight;   // likelihood based tight selector
334 +  TBranch * b_muon_isGood_TMOneStationLoose;        // require one well matched segment
335 +  TBranch * b_muon_isGood_TMOneStationTight;        // require one well matched segment
336 +  TBranch * b_muon_isGood_TMLastStationOptimizedLowPtLoose; // combination of TMLastStation and TMOneStation
337 +  TBranch * b_muon_isGood_TMLastStationOptimizedLowPtTight;  // combination of TMLastStation and TMOneStation
338 +  //____ output tree variables
339    TBranch * b_event;
340    TBranch * b_process_id;
341    TBranch * b_n_jets;
342 +  TBranch * b_n_removed_jets;
343    TBranch * b_n_met;
344    TBranch * b_n_muons;
345    TBranch * b_n_electrons;
346    TBranch * b_lepton_is_muon;
347    TBranch * b_event_weight;
348 <  TBranch * b_lepton_pt;
349 <  TBranch * b_lepton_eta;
350 <  TBranch * b_lepton_phi;
351 <  TBranch * b_lepton_energy;
352 <  TBranch * b_lepton_track_chi2;
353 <  TBranch * b_lepton_track_ndof;
354 <  TBranch * b_lepton_track_nChi2;
348 >  //
349 >  TBranch * b_muon_et;
350 >  TBranch * b_muon_pt;
351 >  TBranch * b_muon_pz;
352 >  TBranch * b_muon_eta;
353 >  TBranch * b_muon_phi;
354 >  TBranch * b_muon_energy;
355 >  TBranch * b_muon_flavor;
356 >  //
357 >  TBranch * b_electron_et;
358 >  TBranch * b_electron_pt;
359 >  TBranch * b_electron_pz;
360 >  TBranch * b_electron_eta;
361 >  TBranch * b_electron_phi;
362 >  TBranch * b_electron_energy;
363 >  TBranch * b_electron_flavor;
364 >  //
365 >  TBranch * b_muon_track_chi2;
366 >  TBranch * b_muon_track_ndof;
367 >  TBranch * b_muon_track_nChi2;
368 >  TBranch * b_muon_outerTrack_chi2;
369 >  TBranch * b_muon_outerTrack_ndof;
370 >  TBranch * b_muon_outerTrack_nChi2;
371 >  TBranch * b_muon_globalTrack_chi2;
372 >  TBranch * b_muon_globalTrack_ndof;
373 >  TBranch * b_muon_globalTrack_nChi2;
374    TBranch * b_lepton_track_iso;
375    TBranch * b_lepton_calo_iso;
376    TBranch * b_lepton_ecal_iso;
377    TBranch * b_lepton_hcal_iso;
378    TBranch * b_lepton_user_iso;
379 <  TBranch * b_met_pt;
379 >  TBranch * b_lepton_IsoDeposit_em;
380 >  TBranch * b_lepton_IsoDeposit_had;
381    TBranch * b_met_et;
382 +  TBranch * b_met_pt;
383    TBranch * b_met_eta;
384    TBranch * b_met_phi;
385    TBranch * b_met_energy;
386 +  TBranch * b_jet1_et;
387    TBranch * b_jet1_pt;
388    TBranch * b_jet1_eta;
389    TBranch * b_jet1_phi;
390    TBranch * b_jet1_energy;
391 +  TBranch * b_jet2_et;
392    TBranch * b_jet2_pt;
393    TBranch * b_jet2_eta;
394    TBranch * b_jet2_phi;
395    TBranch * b_jet2_energy;
396 +  TBranch * b_jet3_et;
397    TBranch * b_jet3_pt;
398    TBranch * b_jet3_eta;
399    TBranch * b_jet3_phi;
400    TBranch * b_jet3_energy;
401 +  TBranch * b_jet4_et;
402    TBranch * b_jet4_pt;
403    TBranch * b_jet4_eta;
404    TBranch * b_jet4_phi;
405    TBranch * b_jet4_energy;
228  TBranch * b_lepton_id;
229  TBranch * b_electron_id_robust;
230  TBranch * b_electron_id_loose;
231  TBranch * b_electron_id_tight;
232  TBranch * b_electron_tdrid_medium;
233  TBranch * b_electron_tdrid_loose;
234  TBranch * b_electron_tdrid_tight;
406    TBranch * b_n_tagged_jets_trackCounting_loose;
407    TBranch * b_n_tagged_jets_trackCounting_medium;
408    TBranch * b_n_tagged_jets_trackCounting_tight;
409    TBranch * b_n_tagged_jets_jetProb_loose;
410    TBranch * b_n_tagged_jets_jetProb_medium;
411    TBranch * b_n_tagged_jets_jetProb_tight;      
412 <
412 >  // ____
413    TBranch * b_aplanarity       ;
414    TBranch * b_centrality       ;
415    TBranch * b_sphericity       ;
# Line 260 | Line 431 | private:
431    TBranch * b_jet1Jet2_Pt      ;
432    TBranch * b_jet1Jet2W_M      ;
433    TBranch * b_jet1Jet2W_Pt     ;
263                      
434    TBranch * b_hz               ;
435 <  TBranch * b_HT2              ;
436 <  TBranch * b_HT2prime         ;
437 <  TBranch * b_W_MT             ;
435 >  TBranch * b_HT2;
436 >  TBranch * b_HT2prime;
437 >  TBranch * b_W_MT;
438    TBranch * b_W_M              ;
439    TBranch * b_W_Pt             ;
440    TBranch * b_DphiJMET         ;
271                      
441    // Ht              
442    TBranch * b_getHt            ;
443    TBranch * b_getHtp           ;
# Line 292 | Line 461 | private:
461    TBranch * b_getEta2Sum       ;
462    TBranch * b_getMwRec         ;
463    TBranch * b_getH             ;
295                      
464    // event topo      
465    TBranch * b_getSph           ;
466    TBranch * b_getApl           ;
467    TBranch * b_getAplMu         ;
300                      
468    // Kt              
469    TBranch * b_getKtminp        ;
470    TBranch * b_getKtminpReduced ;
471    TBranch * b_getDrMinJetJet   ;
305                      
472    // mT              
473    TBranch * b_getDphiMuMet     ;
474    TBranch * b_getMt            ;
475  
476 <  virtual void beginJob(const edm::EventSetup&) ;
311 <  virtual void analyze(const edm::Event&, const edm::EventSetup&);
312 <  virtual void endJob() ;
476 >  
477   };

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines