SusyNtuple
SusyNtuple/Jet.h
00001 // Dear emacs, this is -*- c++ -*-
00002 #ifndef SUSYNTUPLE_JET_H
00003 #define SUSYNTUPLE_JET_H
00004 
00005 #include "SusyNtuple/Particle.h"
00006 #include "SusyNtuple/SusyNtSys.h"
00007 
00008 namespace Susy
00009 {
00011 class Jet : public Particle
00012 {
00013 public:
00014     Jet(){ clear(); }
00015     virtual ~Jet(){};
00016     Jet(const Jet &);
00018     Jet& operator=(const Jet &);
00019 
00020     float jvf;                
00021     float jvt;                
00022     float detEta;             
00023     float emfrac;             
00024     int truthLabel;           
00025     bool matchTruth;          
00026     int nTracks;              
00027 
00028     // btagging
00029     bool bjet;                
00030     float effscalefact;       
00031     float mv1;                
00032     float mv2c20;             
00033     float sv1plusip3d;        
00034 
00035     // Flags/variables for cleaning
00036     bool isBadVeryLoose;      
00037     bool isHotTile;           
00038     float bch_corr_jet;       
00039     float bch_corr_cell;      
00040 
00041     bool isBadMediumBCH;      
00042     bool isBadMediumBCH_up;   
00043     bool isBadMediumBCH_dn;   
00044     bool isBadTightBCH;       
00045 
00046     // Systematics
00047     float jer;                       
00048     std::vector<float> groupedNP;    
00049     std::vector<float> FTSys; 
00050 
00051     //ADD SYS!!! 18x2 + JER
00052     /*
00053     std::vector<float> bjes;
00054     std::vector<float> effNp;
00055     std::vector<float> etaInter;
00056     std::vector<float> flavor;
00057     std::vector<float> pileup;
00058     std::vector<float> punchThrough;
00059     std::vector<float> singlePart;
00060     //std::vector<float> relativeNC;
00061     */
00062 
00063     // Shift energy for systematic
00064     void setState(int sys);
00065 
00066     // Return flavor tag systematics
00067     float getFTSys(Susy::NtSys::SusyNtSys sys);
00068     void  setFTSys(Susy::NtSys::SusyNtSys sys, double scale);
00069 
00070     // Print method
00071     void print() const;
00072 
00073     // Clear vars
00074     void clear(){
00075       jvf = jvt = truthLabel = nTracks = 0;
00076       matchTruth = false;
00077       bjet = false;
00078       effscalefact = 0.;
00079       detEta = 0;
00080       emfrac = 0;
00081       mv1 = sv1plusip3d = mv2c20 = 0;
00082       isBadVeryLoose = isHotTile = false;
00083       bch_corr_jet = bch_corr_cell = 0;
00084       isBadMediumBCH = isBadMediumBCH_up = isBadMediumBCH_dn = isBadTightBCH = false;
00085 
00086       jer = 0;
00087       groupedNP.resize(3*2,0.0);
00088       FTSys.resize(26*2,0.0);
00089 
00090       /*
00091       bjes.resize(2,0.0);
00092       effNp.resize(6*2,0.0);
00093       etaInter.resize(2*2,0.0);
00094       flavor.resize(2*2,0.0);
00095       pileup.resize(4*2,0.0);
00096       punchThrough.resize(2,0.0);
00097       //relativeNC.resize(2,0.0);
00098       singlePart.resize(2,0.0);
00099       */
00100      
00101 
00102       Particle::clear();
00103     }
00104 
00105     ClassDef(Jet, 18);
00106 };
00107 } // Susy
00108 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator