forked from h2gglobe/h2gglobe
-
Notifications
You must be signed in to change notification settings - Fork 0
/
InterferenceSmearer.h
37 lines (29 loc) · 1.01 KB
/
InterferenceSmearer.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef __InterferenceSmearer__
#define __InterferenceSmearer__
#include "BaseSmearer.h"
#include <string>
#include <map>
#include "TFile.h"
#include "TGraphAsymmErrors.h"
class Normalization_8TeV;
// ------------------------------------------------------------------------------------
class InterferenceSmearer : public BaseGenLevelSmearer
{
public:
InterferenceSmearer(Normalization_8TeV * norm, double *genCosTheta, bool isConst, float correction, float error, std::string histFile );
InterferenceSmearer(Normalization_8TeV * norm, float correction, float error);
virtual ~InterferenceSmearer();
virtual const std::string & name() const { return name_; };
virtual bool smearEvent( float & weight, const TLorentzVector & p4, const int nPu, const int sample_type, float syst_shift=0. ) const ;
private:
std::string name_;
Normalization_8TeV * norm_;
double *genCosTheta_;
bool isConst_;
float correction_;
float error_;
TFile *histFile_;
TH1 *reweightHist_ggh_;
TH1 *reweightHist_gg_grav_;
};
#endif