ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitHzz4l/DataStruct/interface/SimpleLepton.h
Revision: 1.7
Committed: Tue Jul 17 09:48:15 2012 UTC (12 years, 10 months ago) by dkralph
Content type: text/plain
Branch: MAIN
Changes since 1.6: +1 -0 lines
Log Message:
1) implemented a way to store the bitset of all matched triggers for the leptons in the FO branches (using TBits, since root doesn't seem to yet support bitsets). See some commented lines in applyZPlusX.cc and ZPlusX.cc

2) These bitsets are almost entirely zeroes, but root didn't compress them as much as I was hoping, adding them tripled the file size, so I had to implement another way to store trigger info in out ntuples. I throw info for only a few requested triggers into into an unsigned value in SimpleLepton, with the def of the bits at the bottom of TriggerUtils.cc in the function initAnalysisTriggers

3) added all versions of the emu cross triggers to TriggerUtils.cc

File Contents

# User Rev Content
1 khahn 1.1 #ifndef SIMPLE_LEPTON
2     #define SIMPLE_LEPTON
3    
4 khahn 1.4 #include <iostream>
5 khahn 1.1 #include "TROOT.h"
6 dkralph 1.7 #include "TBits.h"
7 khahn 1.1 #include "TLorentzVector.h"
8 khahn 1.4 #include "SelectionStatus.h"
9 anlevin 1.2
10 khahn 1.1 class SimpleLepton {
11     public :
12    
13     SimpleLepton() {
14 khahn 1.4 // vec = new TLorentzVector();
15     // vecorig = new TLorentzVector();
16 khahn 1.1 }
17    
18     ~SimpleLepton() {
19     // vec->Delete();
20     // vecorig->Delete();
21     // delete(vec);
22     // delete(vecorig);
23     };
24    
25     int type, index, charge;
26     double isoTrk, isoEcal, isoHcal, isoPF03, isoPF04, isoCombo;
27 khahn 1.5 double chisoPF04, gaisoPF04, neisoPF04;
28    
29 khahn 1.1 double ip3dSig;
30     unsigned bdtfail;
31     bool is4l, isEB, isTight, isLoose;
32     bool tightCutsApplied;
33 khahn 1.4 TLorentzVector vec;
34 khahn 1.5
35     double idMVA, isoMVA;
36 khahn 1.1
37     unsigned scID;
38 khahn 1.4
39     SelectionStatus status;
40 khahn 1.6
41     bool fsrRecoveryAttempted;
42 khahn 1.1
43 khahn 1.6 inline void print() {
44     std::cout <<
45     "type: " << type << "\t"
46 khahn 1.4 "pt: " << vec.Pt() << "\t"
47 khahn 1.6 "eta: " << vec.Eta() << "\t"
48     "index: " << index << std::endl;
49 khahn 1.3 }
50 khahn 1.1 static bool lep_pt_sort( const SimpleLepton &l1, const SimpleLepton &l2 ) {
51 khahn 1.4 if( l1.vec.Pt() > l2.vec.Pt() ) return true;
52 anlevin 1.2 else return false;
53 khahn 1.1 };
54 khahn 1.6 static bool lep_reversept_sort( const SimpleLepton &l1, const SimpleLepton &l2 ) {
55     if( l1.vec.Pt() < l2.vec.Pt() ) return true;
56     else return false;
57     };
58 khahn 1.1
59     };
60    
61     #endif