#ifndef ATLAS_AtlObjRecoScaleFactorTool
#define ATLAS_AtlObjRecoScaleFactorTool
#ifndef ATLAS_AtlAnalysisTool
#include <AtlAnalysisTool.h>
#endif
#ifndef ATLAS_AtlObjectsToolD3PDSgTop
#include <AtlObjectsToolD3PDSgTop.h>
#endif
#ifndef ATLAS_AtlTopLevelAnalysis
#include <AtlTopLevelAnalysis.h>
#endif
#ifndef ANALYSISCALIBRATIONDATAINTERFACEROOT_H
#include "CalibrationDataInterface/CalibrationDataInterfaceROOT.h"
#endif
#include <string>
using namespace std;
class TH1F;
class TDirectory;
class AtlSelector;
class AtlObjRecoScaleFactorTool : public AtlAnalysisTool {
public:
enum EOperation { kNoSF = 0,
kLeptonSF = BIT(0),
kJetBtagSF = BIT(1),
kJetVertexSF = BIT(2),
kAllSF = ( kLeptonSF | kJetBtagSF | kJetVertexSF )
};
enum EBTagWP { kUndefined = 0,
kMV1_60,
kMV1_70,
kMV1_80,
kMV1_85,
kMV1c_50,
kMV1c_80,
kMV2c20_77,
kMV2c20_85,
kMV2c10_70,
kMV2c10_77,
kMV2c10_85,
};
public:
UInt_t fOperationMode;
AtlTopLevelAnalysis::ESystematic fSystematicMode;
Bool_t fUseCDI;
EBTagWP fBTagWP;
const char* fXsecFile;
int fNjetSystMode;
long fNjetSystNumber;
bool fNjetSystRestTerm;
double fNjetSystDelta;
private:
TList *fLeptons;
TList *fJets;
AtlBTag::ETagger fBTagger;
Float_t fBTagWeight_min;
string workingPoint;
AtlObjectsToolD3PDSgTop *fObjDefinitionTool;
unsigned int CDIindex_SF[4];
unsigned int CDIindex_Eff[4];
int tauExtrapFromCharm;
Analysis::CalibrationDataInterfaceROOT *CDITool;
Analysis::CalibrationDataVariables CDIVars;
Analysis::Uncertainty CDIUncertainty;
unsigned int mapIndex;
Bool_t fInitCDI;
public:
AtlObjRecoScaleFactorTool(const char* name, const char* title);
virtual ~AtlObjRecoScaleFactorTool();
virtual void Clear(Option_t *option = "");
virtual void SetBranchStatus();
virtual void BookHistograms();
virtual void FillHistograms();
virtual void Print() const;
virtual Bool_t AnalyzeEvent();
virtual void Terminate();
TString* GetOperationName() const;
static const char* GetBTagWPName(EBTagWP wp);
inline void SetLeptons(TList *leptons) {
fLeptons = leptons;
}
inline void SetJets(TList *jets) {
fJets = jets;
}
inline void SetObjDefinitionTool(AtlObjectsToolD3PDSgTop *tool) {
fObjDefinitionTool = tool;
}
Double_t GetLeptonSF() const;
Double_t GetElectronSF() const;
Double_t GetMuonSF() const;
Double_t GetBtagSF();
Double_t GetJetVertexSF() const;
private:
Double_t GetBtagSF_MV1_60(AtlJet* jet) const;
Double_t GetBtagSF_MV1_70(AtlJet* jet) const;
Double_t GetBtagSF_MV1_80(AtlJet* jet) const;
Double_t GetBtagSF_MV1c_50(AtlJet* jet) const;
Double_t ComputeBtagSF(AtlJet* jet);
ClassDef(AtlObjRecoScaleFactorTool,0)
};
#endif
AtlObjRecoScaleFactorTool.h:1 AtlObjRecoScaleFactorTool.h:2 AtlObjRecoScaleFactorTool.h:3 AtlObjRecoScaleFactorTool.h:4 AtlObjRecoScaleFactorTool.h:5 AtlObjRecoScaleFactorTool.h:6 AtlObjRecoScaleFactorTool.h:7 AtlObjRecoScaleFactorTool.h:8 AtlObjRecoScaleFactorTool.h:9 AtlObjRecoScaleFactorTool.h:10 AtlObjRecoScaleFactorTool.h:11 AtlObjRecoScaleFactorTool.h:12 AtlObjRecoScaleFactorTool.h:13 AtlObjRecoScaleFactorTool.h:14 AtlObjRecoScaleFactorTool.h:15 AtlObjRecoScaleFactorTool.h:16 AtlObjRecoScaleFactorTool.h:17 AtlObjRecoScaleFactorTool.h:18 AtlObjRecoScaleFactorTool.h:19 AtlObjRecoScaleFactorTool.h:20 AtlObjRecoScaleFactorTool.h:21 AtlObjRecoScaleFactorTool.h:22 AtlObjRecoScaleFactorTool.h:23 AtlObjRecoScaleFactorTool.h:24 AtlObjRecoScaleFactorTool.h:25 AtlObjRecoScaleFactorTool.h:26 AtlObjRecoScaleFactorTool.h:27 AtlObjRecoScaleFactorTool.h:28 AtlObjRecoScaleFactorTool.h:29 AtlObjRecoScaleFactorTool.h:30 AtlObjRecoScaleFactorTool.h:31 AtlObjRecoScaleFactorTool.h:32 AtlObjRecoScaleFactorTool.h:33 AtlObjRecoScaleFactorTool.h:34 AtlObjRecoScaleFactorTool.h:35 AtlObjRecoScaleFactorTool.h:36 AtlObjRecoScaleFactorTool.h:37 AtlObjRecoScaleFactorTool.h:38 AtlObjRecoScaleFactorTool.h:39 AtlObjRecoScaleFactorTool.h:40 AtlObjRecoScaleFactorTool.h:41 AtlObjRecoScaleFactorTool.h:42 AtlObjRecoScaleFactorTool.h:43 AtlObjRecoScaleFactorTool.h:44 AtlObjRecoScaleFactorTool.h:45 AtlObjRecoScaleFactorTool.h:46 AtlObjRecoScaleFactorTool.h:47 AtlObjRecoScaleFactorTool.h:48 AtlObjRecoScaleFactorTool.h:49 AtlObjRecoScaleFactorTool.h:50 AtlObjRecoScaleFactorTool.h:51 AtlObjRecoScaleFactorTool.h:52 AtlObjRecoScaleFactorTool.h:53 AtlObjRecoScaleFactorTool.h:54 AtlObjRecoScaleFactorTool.h:55 AtlObjRecoScaleFactorTool.h:56 AtlObjRecoScaleFactorTool.h:57 AtlObjRecoScaleFactorTool.h:58 AtlObjRecoScaleFactorTool.h:59 AtlObjRecoScaleFactorTool.h:60 AtlObjRecoScaleFactorTool.h:61 AtlObjRecoScaleFactorTool.h:62 AtlObjRecoScaleFactorTool.h:63 AtlObjRecoScaleFactorTool.h:64 AtlObjRecoScaleFactorTool.h:65 AtlObjRecoScaleFactorTool.h:66 AtlObjRecoScaleFactorTool.h:67 AtlObjRecoScaleFactorTool.h:68 AtlObjRecoScaleFactorTool.h:69 AtlObjRecoScaleFactorTool.h:70 AtlObjRecoScaleFactorTool.h:71 AtlObjRecoScaleFactorTool.h:72 AtlObjRecoScaleFactorTool.h:73 AtlObjRecoScaleFactorTool.h:74 AtlObjRecoScaleFactorTool.h:75 AtlObjRecoScaleFactorTool.h:76 AtlObjRecoScaleFactorTool.h:77 AtlObjRecoScaleFactorTool.h:78 AtlObjRecoScaleFactorTool.h:79 AtlObjRecoScaleFactorTool.h:80 AtlObjRecoScaleFactorTool.h:81 AtlObjRecoScaleFactorTool.h:82 AtlObjRecoScaleFactorTool.h:83 AtlObjRecoScaleFactorTool.h:84 AtlObjRecoScaleFactorTool.h:85 AtlObjRecoScaleFactorTool.h:86 AtlObjRecoScaleFactorTool.h:87 AtlObjRecoScaleFactorTool.h:88 AtlObjRecoScaleFactorTool.h:89 AtlObjRecoScaleFactorTool.h:90 AtlObjRecoScaleFactorTool.h:91 AtlObjRecoScaleFactorTool.h:92 AtlObjRecoScaleFactorTool.h:93 AtlObjRecoScaleFactorTool.h:94 AtlObjRecoScaleFactorTool.h:95 AtlObjRecoScaleFactorTool.h:96 AtlObjRecoScaleFactorTool.h:97 AtlObjRecoScaleFactorTool.h:98 AtlObjRecoScaleFactorTool.h:99 AtlObjRecoScaleFactorTool.h:100 AtlObjRecoScaleFactorTool.h:101 AtlObjRecoScaleFactorTool.h:102 AtlObjRecoScaleFactorTool.h:103 AtlObjRecoScaleFactorTool.h:104 AtlObjRecoScaleFactorTool.h:105 AtlObjRecoScaleFactorTool.h:106 AtlObjRecoScaleFactorTool.h:107 AtlObjRecoScaleFactorTool.h:108 AtlObjRecoScaleFactorTool.h:109 AtlObjRecoScaleFactorTool.h:110 AtlObjRecoScaleFactorTool.h:111 AtlObjRecoScaleFactorTool.h:112 AtlObjRecoScaleFactorTool.h:113 AtlObjRecoScaleFactorTool.h:114 AtlObjRecoScaleFactorTool.h:115 AtlObjRecoScaleFactorTool.h:116 AtlObjRecoScaleFactorTool.h:117 AtlObjRecoScaleFactorTool.h:118 AtlObjRecoScaleFactorTool.h:119 AtlObjRecoScaleFactorTool.h:120 AtlObjRecoScaleFactorTool.h:121 AtlObjRecoScaleFactorTool.h:122 AtlObjRecoScaleFactorTool.h:123 AtlObjRecoScaleFactorTool.h:124 AtlObjRecoScaleFactorTool.h:125 AtlObjRecoScaleFactorTool.h:126 AtlObjRecoScaleFactorTool.h:127 AtlObjRecoScaleFactorTool.h:128