 |
ATLAS Offline Software
|
Go to the documentation of this file.
15 , m_hHistCutPre(nullptr)
40 TH1F* hHist =
new TH1F(sName, sTitle, iBins, dXLow, dXUp);
41 hHist->SetDirectory(0);
66 throw std::runtime_error ((
"Undeclared property: " +
name +
"\n").c_str());
73 std::pair<std::string, std::string&>
p(
name, loc);
82 throw std::runtime_error ((
"Undeclared property: " +
name +
"\n").c_str());
100 hHist.Fill(xDiTau.
pt()/1000.);
107 "Selection of ditaus according to their transverse momentum" );
114 double pt = xDiTau.
pt() / 1000.;
125 for(
unsigned int iPtRegion = 0; iPtRegion < iNumPtRegion; iPtRegion++ )
127 if (
pt >=
m_tDTST->
m_vPtRegion.at(iPtRegion*2) and pt <= m_tDTST->m_vPtRegion.at(iPtRegion*2+1))
149 hHist.Fill(xDiTau.
eta());
155 info.addCut(
"AbsEta",
156 "Selection of ditaus according to their absolute pseudorapidity" );
164 for(
unsigned int iEtaRegion = 0; iEtaRegion < iNumEtaRegion; iEtaRegion++ )
194 info.addCut(
"NSubjets",
195 "Selection of ditaus according to their number of subjets" );
212 for(
unsigned int iNSubjetsRegion = 0; iNSubjetsRegion < iNumNSubjetsRegion; iNSubjetsRegion++ )
214 if ( nsubjets >=
m_tDTST->
m_vNSubjetsRegion.at(iNSubjetsRegion*2) and nsubjets <= m_tDTST->m_vNSubjetsRegion.at(iNSubjetsRegion*2+1))
228 m_bDiTauCharge(-1234)
243 info.addCut(
"AbsCharge",
244 "Selection of taus according to their absolute charge" );
255 for (
const auto& xTrack : xTau.
trackLinks()) {
256 if (!xTrack.isValid())
260 for (
int i = 0;
i < 2; ++
i) {
261 TLorentzVector tlvSubjet = TLorentzVector();
264 double dR = tlvSubjet.DeltaR((*xTrack)->p4());
300 hHist.Fill(acc_OmniScore(xTau));
305 info.addCut(
"OmniScore",
306 "Selection of taus according to their OmniScore" );
314 float dOmniScore =
acc(xTau);
316 for(
unsigned int iOmniScoreRegion = 0; iOmniScoreRegion < iNumOmniScoreRegion; iOmniScoreRegion++ )
318 if ( dOmniScore >=
m_tDTST->
m_vOmniScoreRegion.at(iOmniScoreRegion*2) and dOmniScore <= m_tDTST->m_vOmniScoreRegion.at(iOmniScoreRegion*2+1))
347 m_hHistCut->GetXaxis()->SetBinLabel(1,
"!VeryLoose");
348 m_hHistCut->GetXaxis()->SetBinLabel(2,
"VeryLoose");
349 m_hHistCut->GetXaxis()->SetBinLabel(3,
"!Loose");
350 m_hHistCut->GetXaxis()->SetBinLabel(4,
"Loose");
351 m_hHistCut->GetXaxis()->SetBinLabel(5,
"!Medium");
352 m_hHistCut->GetXaxis()->SetBinLabel(6,
"Medium");
353 m_hHistCut->GetXaxis()->SetBinLabel(7,
"!Tight");
354 m_hHistCut->GetXaxis()->SetBinLabel(8,
"Tight");
365 hHist.Fill(acc_OmniVeryLoose(xTau));
366 hHist.Fill(acc_OmniLoose(xTau)+2);
367 hHist.Fill(acc_OmniMedium(xTau)+4);
368 hHist.Fill(acc_OmniTight(xTau)+6);
375 info.addCut(
"OmniIDWP",
376 "Selection of ditaus according to their OmniIDScore" );
392 else bPass = acc_OmniVeryLoose(xTau);
397 else bPass = acc_OmniLoose(xTau);
402 else bPass = acc_OmniMedium(xTau);
407 else bPass = acc_OmniTight(xTau);
JetConstituentVector::iterator iterator
virtual double pt() const
The transverse momentum ( ) of the particle.
float subjetPhi(unsigned int numSubjet) const
virtual double eta() const
The pseudorapidity ( ) of the particle.
float subjetE(unsigned int numSubjet) const
float subjetEta(unsigned int numSubjet) const
void setCutResult(const std::string &cutName, bool cutResult)
Set the result of a cut, based on the cut name (safer)
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
float subjetPt(unsigned int numSubjet) const
const TrackParticleLinks_t & trackLinks() const