SusyNtuple
SusyNtuple/Tau.h
00001 // Dear emacs, this is -*- c++ -*-
00002 #ifndef SUSYNTUPLE_TAU_H
00003 #define SUSYNTUPLE_TAU_H
00004 
00005 #include "SusyNtuple/Particle.h"
00006 #include "SusyNtuple/SusyNtSys.h"
00007 
00008 namespace Susy
00009 {
00011 class Tau : public Particle
00012 {
00013 public:
00014     Tau() { clear(); }
00015     virtual ~Tau(){};
00016     Tau(const Tau &);
00018     Tau& operator=(const Tau &);
00019 
00020     int q;                    
00021     int author;               
00022     int nTrack;               
00023     float eleBDT;             
00024     float jetBDT;             
00025     int jetBDTSigLoose;       
00026     int jetBDTSigMedium;      
00027     int jetBDTSigTight;       
00028     int eleBDTLoose;          
00029     int eleBDTMedium;         
00030     int eleBDTTight;          
00031     int muonVeto;             
00032 
00033     bool trueTau;             
00034 
00035     int truthType;            
00036 
00037 //obsolete -remove 
00038     bool matched2TruthLepton; 
00039     int detailedTruthType;    
00040 
00041     // Taus have a lot of SFs
00042     float looseEffSF;         
00043     float errLooseEffSF;      
00044     float mediumEffSF;        
00045     float errMediumEffSF;     
00046     float tightEffSF;         
00047     float errTightEffSF;      
00048     float looseEVetoSF;       
00049     float errLooseEVetoSF;    
00050     float mediumEVetoSF;      
00051     float errMediumEVetoSF;   
00052     float tightEVetoSF;       
00053     float errTightEVetoSF;    
00054  
00055     // Systematic factors
00056     float sme_total_up;       
00057     float sme_total_dn;       
00058 
00059     long long trigFlags;      
00060 
00062 
00063     bool matchTrig(long long mask) const {
00064       return (trigFlags & mask) == mask;
00065     }
00066 
00068     void setState(int sys);
00069 
00071     void print() const;
00072 
00073     void clear(){
00074         q = author = nTrack = 0;
00075         eleBDT = jetBDT = 0;
00076         jetBDTSigLoose = jetBDTSigMedium = jetBDTSigTight = 0;
00077         eleBDTLoose = eleBDTMedium = eleBDTTight = 0;
00078         muonVeto = 0;
00079         trueTau = false;
00080         matched2TruthLepton = false;
00081         truthType = detailedTruthType = -1;
00082         looseEffSF = mediumEffSF = tightEffSF = 1;
00083         errLooseEffSF = errMediumEffSF = errTightEffSF = 0;
00084         looseEVetoSF = mediumEVetoSF = tightEVetoSF = 1;
00085         errLooseEVetoSF = errMediumEVetoSF = errTightEVetoSF = 0;
00086         sme_total_up = sme_total_dn = 0;
00087         trigFlags = 0;
00088         Particle::clear();
00089     }
00090 
00091     ClassDef(Tau, 7);
00092   };
00093 } // Susy
00094 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator