Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:23:26

0001 #ifndef PhysicsTools_Heppy_RochCor2012_h
0002 #define PhysicsTools_Heppy_RochCor2012_h
0003 
0004 ////  VERSION for 2012 received from Jiyeon on 30 september 2012
0005 ////  moved static const float from .h to .cc to make the gcc happy
0006 
0007 #include <iostream>
0008 
0009 #include <TChain.h>
0010 #include <TClonesArray.h>
0011 #include <TString.h>
0012 #include <map>
0013 
0014 #include <TSystem.h>
0015 #include <TROOT.h>
0016 #include <TMath.h>
0017 #include <TLorentzVector.h>
0018 #include <TRandom3.h>
0019 
0020 namespace heppy {
0021 
0022   class RochCor2012 {
0023   public:
0024     RochCor2012();
0025     RochCor2012(int seed);
0026     ~RochCor2012();
0027 
0028     void momcor_mc(TLorentzVector&, float, float, int);
0029     void momcor_data(TLorentzVector&, float, float, int);
0030 
0031     void musclefit_data(TLorentzVector&, TLorentzVector&);
0032 
0033     float zptcor(float);
0034     int etabin(float);
0035     int phibin(float);
0036 
0037   private:
0038     TRandom3 eran;
0039     TRandom3 sran;
0040 
0041     //  static float netabin[9] = {-2.4,-2.1,-1.4,-0.7,0.0,0.7,1.4,2.1,2.4};
0042     static const float netabin[9];
0043     ////^^^^^------------ GP BEGIN
0044     static const double pi;
0045 
0046     static const float genm_smr;
0047     static const float genm;
0048 
0049     static const float mrecm;
0050     static const float drecm;
0051     static const float mgscl_stat;
0052     static const float mgscl_syst;
0053     static const float dgscl_stat;
0054     static const float dgscl_syst;
0055 
0056     //iteration2 after FSR : after Z Pt correction
0057     static const float delta;
0058     static const float delta_stat;
0059     static const float delta_syst;
0060 
0061     static const float sf;
0062     static const float sf_stat;
0063     static const float sf_syst;
0064 
0065     static const float apar;
0066     static const float bpar;
0067     static const float cpar;
0068     static const float d0par;
0069     static const float e0par;
0070     static const float d1par;
0071     static const float e1par;
0072     static const float d2par;
0073     static const float e2par;
0074     ////^^^^^------------ GP END
0075 
0076     //---------------------------------------------------------------------------------------------
0077 
0078     static const float dcor_bf[8][8];
0079     static const float dcor_ma[8][8];
0080     static const float mcor_bf[8][8];
0081     static const float mcor_ma[8][8];
0082     static const float dcor_bfer[8][8];
0083     static const float dcor_maer[8][8];
0084     static const float mcor_bfer[8][8];
0085     static const float mcor_maer[8][8];
0086 
0087     //=======================================================================================================
0088 
0089     static const float dmavg[8][8];
0090     static const float dpavg[8][8];
0091     static const float mmavg[8][8];
0092     static const float mpavg[8][8];
0093 
0094     //===============================================================================================
0095     //parameters for Z pt correction
0096     static const int nptbins = 84;
0097     static const float ptlow[85];
0098 
0099     static const float zptscl[84];
0100     static const float zptscler[84];
0101 
0102     float mptsys_mc_dm[8][8];
0103     float mptsys_mc_da[8][8];
0104     float mptsys_da_dm[8][8];
0105     float mptsys_da_da[8][8];
0106 
0107     float gscler_mc_dev;
0108     float gscler_da_dev;
0109   };
0110 }  // namespace heppy
0111 
0112 #endif