NtupleReader/NtupleReader/MySystematics.h

00001 #ifndef MySystematicsH
00002 #define MySystematicsH
00003 
00004 //::::::::::::::::::::::
00005 //:: CLASS MySystematics ::
00006 //::::::::::::::::::::::
00007 
00017 
00018 //::::::::::::::::::
00019 //:: HEADER FILES ::
00020 //::::::::::::::::::
00021 
00022 // standard C++ //
00023 #include <iostream>
00024 #include <vector>
00025 
00026 // ROOT //
00027 #include <TRandom.h>
00028 #include "TLorentzVector.h"
00029 
00030 // HiggsAnalysis //
00031 #include "MyParticle.h"
00032 #include "MyMissingEt.h"
00033 #include "MyTools.h"
00034 #include "NtupleReader/MyDatasetInfo.h"
00035 
00036 
00037 
00038 class MySystematics {
00039 
00040  public:
00041    
00043    MySystematics( unsigned int seed ){
00044         init(seed);
00045     };
00046 
00048    ~MySystematics(void){
00049         destruct();
00050     }
00051 ;
00052 
00053  public:
00054 
00059   Double_t egamma_resolution( const Double_t et );
00060 
00065   Double_t muon_resolution( const Double_t pt );
00066 
00072   Double_t jet_resolution( const Double_t e, const Double_t eta ); 
00073 
00078   Double_t taujet_resolution( const Double_t e );
00079 
00081   Double_t energy_scale ( const Double_t pT, const Double_t f );
00082 
00088   Bool_t   is_detected( const Double_t f );
00089 
00093   Bool_t   is_bjet( const Double_t f_minus );
00094 
00100   Double_t metCorrection_x(const Double_t aodPx, const Double_t correctedPx);
00101   Double_t metCorrection_y(const Double_t aodPy, Double_t correctedPy);
00102   Double_t metCorrection_sum(const Double_t aodSum, Double_t correctedsum);
00103   Double_t metScale ( const Double_t aodM, const Double_t correctedM, Double_t factor=1.0);
00104 
00105   void apply_syst( std::vector<MyParticle*> * vp_syst, MyMissingEt * met_syst, int f_reso, int f_eScale_minus, int f_eScale_plus, int f_effi, int f_btag);
00107 
00108  private:
00109 
00110   // The MyDatasetInfo object 
00111   MyDatasetInfo *m_dataset_info;
00112 
00113   // The MyTools object 
00114   MyTools m_tools;
00115 
00116 
00118   TRandom * m_random;
00119 
00120   void init(unsigned int seed);
00121          // initialization method (variables as defined
00122          // in the constructor of this class)
00123   void destruct(void);
00124          // destruction method
00125 
00126  
00127 };
00128 
00129 //::::::::::::::::::::::::::::::::::::::
00130 //:: IMPLEMENTATION OF INLINE METHODS ::
00131 //::::::::::::::::::::::::::::::::::::::
00132 
00133 #include "MySystematics.ixx"
00134 
00135 #endif
00136 

Generated on Tue Oct 21 11:50:45 2008 for NtupleAnalysis by  doxygen 1.5.1