|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef FAKEBKGTOOLS_FAKEBKGINTERNALS_H
6 #define FAKEBKGTOOLS_FAKEBKGINTERNALS_H
20 class BaseFakeBkgTool;
65 inline float syst()
const;
77 inline float stat()
const;
80 inline float syst()
const;
102 FinalState(
size_t h,
const unsigned nparticles,
const std::string& strSelection,
const std::string& strProc, std::string&
error);
106 if(!
selection[tights.to_ulong()])
return false;
107 auto nT = tights.count();
108 if(
hasSS() && nT==2 && (tights&charges).
count()==1)
return false;
109 if(
hasOS() && nT>=2 && ((tights&charges).
count()%nT)==0)
return false;
114 auto nT = tights.count();
115 auto nR = reals.count(), nRT = (reals&tights).
count(), nRL = nR - nRT;
116 auto nF = nparticles - nR, nFT = nT - nRT, nFL =
nF - nFT;
117 uint32_t w = nRT | (nRL<<5) | (nR<<10) | (nFT<<15) | (nFL<<20) | (
nF<<25);
137 bool parseSelection(
const unsigned short nparticles, std::string strSelection, std::string&
error);
179 if(
r.second)
r.first->second *=
weight;
180 else r.first->second +=
weight * kv.second;
197 if(
r.second)
r.first->second *=
weight;
198 else r.first->second +=
weight * kv.second;
214 if(
r.second)
r.first->second *=
weight;
215 else r.first->second +=
weight * kv.second;
230 r.first->second =
nominal*kv.second;
231 r.first->second += (rhs.
nominal*u_init);
232 r.first->second += (u_init*=kv.second);
270 kv.second.up = -kv.second.up;
271 kv.second.down = -kv.second.down;
Select isolated Photons, Electrons and Muons.
xAOD::Type::ObjectType type
constexpr std::enable_if_t< is_bitmask_v< E >, E & > set(E &lhs, E rhs)
Convenience function to set bits in a class enum bitmask.
Efficiency real_efficiency
Efficiency fake_efficiency