33main(
int argc,
char* argv[])
39 using namespace asg::testEgEfficiencyCorrFwd;
41 MSG::Level mylevel = MSG::INFO;
50 <<
" Usage: <<APP_NAME << [xAOD file name] [Num of events to use]");
58 const TString fileName = argv[1];
60 std::unique_ptr<TFile> ifile(TFile::Open(fileName,
"READ"));
67 std::vector<std::string> id_configFiles{
68 "ElectronEfficiencyCorrection/2012/offline/"
69 "efficiencySF.offline.FwdTight.2012.8TeV.rel17p2.GEO21.v02.root"
73 "AsgElectronEfficiencyCorrectionTool/ElEffCorrectionTool");
75 ElEffCorrectionTool.
setProperty(
"CorrectionFileNameList", id_configFiles));
85 <<
static_cast<long long int>(event.getEntries()));
88 long long int entries =
event.getEntries();
90 const long long int e = atoll(argv[2]);
98 for (
long long int entry = 0; entry <
entries; ++entry) {
99 event.getEntry(entry);
103 ANA_CHECK(event.retrieve(electrons,
"ForwardElectrons"));
106 if (el->pt() < 20000)
108 if (fabs(el->caloCluster()->eta()) < 2.5)
110 int index = ElEffCorrectionTool->systUncorrVariationIndex(*el);
120 ElEffCorrectionTool, *el, nominalSF, totalPos, totalNeg, isToys) ==
124 << el->pt() <<
" : eta = " << el->eta()
125 <<
" : Bin index = " <<
index <<
" : SF = " << nominalSF
126 <<
" + " << totalPos <<
" - " << totalNeg <<
" <===");
Tool for accessing xAOD files outside of Athena.
static void enableDataSubmission(::Bool_t value)
Function for turning data submission on/off.
int result(asg::StandaloneToolHandle< IAsgElectronEfficiencyCorrectionTool > &tool, const xAOD::Electron &el, double &nominalSF, double &totalPos, double &totalNeg, const bool isToys)
StatusCode Init(const char *appname)
Function initialising ROOT/PyROOT for using the ATLAS EDM.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
Electron_v1 Electron
Definition of the current "egamma version".