|
ATLAS Offline Software
|
Go to the documentation of this file.
11 m_f = TFile::Open(
fIn);
13 m_etas.push_back(0.8);
14 m_etas.push_back(1.2);
15 m_etas.push_back(1.7);
16 m_etas.push_back(2.1);
17 m_etas.push_back(2.5);
19 vector<string> etastr;
20 etastr.push_back(
"_e0");
21 etastr.push_back(
"_e1");
22 etastr.push_back(
"_e2");
23 etastr.push_back(
"_e3");
24 etastr.push_back(
"_e4");
28 prefix.push_back(
"tagSyst");
29 prefix.push_back(
"fragSyst");
30 prefix.push_back(
"decaySyst");
31 prefix.push_back(
"msSyst");
32 prefix.push_back(
"idSyst");
33 prefix.push_back(
"decayRewSyst");
34 prefix.push_back(
"muRewSyst");
35 prefix.push_back(
"corrIncl");
37 for(
unsigned int j = 0; j<
prefix.size(); j++){
39 for(
unsigned int i = 0;
i<etastr.size();
i++){
40 corr.push_back((
TH1F*) m_f->Get((
prefix[j]+etastr[
i]).c_str()));
42 m_histos.push_back(corr);
48 for(
unsigned int i = 0;
i<m_histos.size();
i++){
49 for(
unsigned int j = 0; j<m_histos[
i].size();j++){
50 delete m_histos[
i][j];
59 return getSemilCorrToIncl(
jet,
mu,m_histos[0]);
64 return getSemilCorrToIncl(
jet,
mu,m_histos[8]);
70 TLorentzVector jetmu =
jet+
mu;
72 float corr = getResponse(jetmu.Pt(), jetmu.Eta(),
histos);
96 vector<int> indeces1 = getHistoIndeces(syst);
98 for(
unsigned int i = 0;
i<indeces1.size();
i++){
99 systr +=
pow(getSemilCorrToIncl(
jet,
mu,m_histos[indeces1[
i]]),2);
108 for(
unsigned int i = 0;
i<m_etas.size()-1;
i++){
109 if(fabs(
eta)>=m_etas[
i] && fabs(
eta)<m_etas[
i+1])
113 if(histbin == -1) histbin =
h.size()-1;
114 float min =
h[histbin]->GetBinCenter(1);
115 float max =
h[histbin]->GetBinCenter(
h[histbin]->GetNbinsX());
119 float result =
h[histbin]->Interpolate(usePt);
Scalar eta() const
pseudorapidity method
std::pair< long int, long int > indices
semilCorr(TString fIn, std::string suffix="", bool DebugIn=false)
float getSemilCorrToIncl(TLorentzVector jet, TLorentzVector mu, std::vector< TH1F * > histos)
std::vector< int > getHistoIndeces(semilCorr::Systematics syst)
float getSemilCorrToInclSyst(TLorentzVector jet, TLorentzVector mu, semilCorr::Systematics syst=semilCorr::ALL)
float getBjetCorrToIncl(TLorentzVector jet, TLorentzVector mu)
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
float getResponse(float pt, float eta, std::vector< TH1F * > h)