16 declareInterface<ICaloMuonTag>(
this);
32 std::unique_ptr<TFile>
rootFile{TFile::Open(rootFilePath.c_str(),
"READ")};
38 return StatusCode::FAILURE;
45 return StatusCode::FAILURE;
49 return StatusCode::SUCCESS;
58 return StatusCode::FAILURE;
64 return StatusCode::FAILURE;
66 hist->SetDirectory(
nullptr);
67 unique_hist.reset(
hist);
69 return StatusCode::SUCCESS;
79 return StatusCode::SUCCESS;
86 std::vector<DepositInCalo>::const_iterator
it = deposits.begin();
87 int numVetoesTriggered = 0;
89 for (;
it != deposits.end(); ++
it) {
91 double dep =
it->energyDeposited();
92 double eLoss =
it->muonEnergyLoss();
93 double diff = dep - eLoss;
96 if (dep >
interpolate(
"emb1Veto",
pt)) { numVetoesTriggered++; }
99 if (dep >
interpolate(
"emb2Veto",
pt)) { numVetoesTriggered++; }
102 if (dep >
interpolate(
"emb3Veto",
pt)) { numVetoesTriggered++; }
105 if (dep >
interpolate(
"eme1Veto",
pt)) { numVetoesTriggered++; }
108 if (dep >
interpolate(
"eme2Veto",
pt)) { numVetoesTriggered++; }
111 if (dep >
interpolate(
"eme3Veto",
pt)) { numVetoesTriggered++; }
115 if (dep <
interpolate(
"tileBar0Sig",
pt)) { numVetoesTriggered++; }
116 if (dep >
interpolate(
"tileBar0Veto",
pt)) { numVetoesTriggered++; }
121 if (dep <
interpolate(
"tileBar1Sig",
pt)) { numVetoesTriggered++; }
122 if (dep >
interpolate(
"tileBar1Veto",
pt)) { numVetoesTriggered++; }
127 if (dep <
interpolate(
"tileBar2Sig",
pt)) { numVetoesTriggered++; }
128 if (dep >
interpolate(
"tileBar2Veto",
pt)) { numVetoesTriggered++; }
133 if (dep <
interpolate(
"tileExt0Sig",
pt)) { numVetoesTriggered++; }
135 if (dep >
interpolate(
"tileExt0Veto",
pt)) { numVetoesTriggered++; }
139 if (dep <
interpolate(
"tileExt1Sig",
pt)) { numVetoesTriggered++; }
141 if (dep >
interpolate(
"tileExt1Veto",
pt)) { numVetoesTriggered++; }
145 if (dep <
interpolate(
"tileExt2Sig",
pt)) { numVetoesTriggered++; }
147 if (dep >
interpolate(
"tileExt2Veto",
pt)) { numVetoesTriggered++; }
150 if (dep >
interpolate(
"hec0Veto",
pt)) { numVetoesTriggered++; }
151 if (dep <
interpolate(
"hec0Sig",
pt)) { numVetoesTriggered++; }
155 if (dep >
interpolate(
"hec1Veto",
pt)) { numVetoesTriggered++; }
156 if (dep <
interpolate(
"hec1Sig",
pt)) { numVetoesTriggered++; }
160 if (dep >
interpolate(
"hec2Veto",
pt)) { numVetoesTriggered++; }
161 if (dep <
interpolate(
"hec2Sig",
pt)) { numVetoesTriggered++; }
165 if (dep >
interpolate(
"hec3Veto",
pt)) { numVetoesTriggered++; }
166 if (dep <
interpolate(
"hec3Sig",
pt)) { numVetoesTriggered++; }
169 if (numVetoesTriggered >= 1) {
185 double ptLow = 0, ptUp = 0, cutLow = 0, cutUp = 0, cutReturn = 0;
193 if (ptBin < 1) cutReturn =
m_hist->GetBinContent(1, cutBin);
201 cutUp =
m_hist->GetBinContent(ptBin + 1, cutBin);
202 cutLow =
m_hist->GetBinContent(ptBin, cutBin);
203 cutReturn = cutLow + (cutUp - cutLow) * (
pt - ptLow) / (ptUp - ptLow);