|
ATLAS Offline Software
|
Go to the documentation of this file.
50 const size_t nc = (1 <<
n);
56 std::fill_n(dev.begin(),
n, 0);
64 for(
size_t i=0;
i<
nc;
i++){
75 if(!
fs.accept_process(
n, reals, tights))
continue;
77 for(
size_t j=0;j<
n;j++){
79 double x = reals[j]? 1 :
m_particles[j].fake_factor.nominal;
81 double theta = reals[j]? 0 : 1;
82 for(
size_t k=0;
k<
n;
k++){
88 if(reals.count() == 0){
92 for(
size_t k=0;
k<
n;
k++){
98 ATH_MSG_ERROR(
"the process is not supported.Please try to use process = '0R' instead");
99 return StatusCode::FAILURE;
104 ATH_MSG_ERROR(
"the option and particle type are not supported by this method");
105 return StatusCode::FAILURE;
111 for(
size_t i=0;
i<
n;
i++){
112 for(
auto const &kv :
m_particles[
i].fake_factor.uncertainties){
113 auto & uncertainties =
weight.uncertainties[kv.first];
114 uncertainties.up += dev[
i] * kv.second.up;
115 uncertainties.down += dev[
i] * kv.second.down;
120 return StatusCode::SUCCESS;
virtual FakeBkgTools::Client clientForDB() override final
This indicates which type of efficiencies/fake factor need to be filled.
Electron_v1 Electron
Definition of the current "egamma version".
virtual StatusCode addEventCustom() override
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Scalar theta() const
theta method
Select isolated Photons, Electrons and Muons.
::StatusCode StatusCode
StatusCode definition for legacy code.
Photon_v1 Photon
Definition of the current "egamma version".
ApplyE2YFakeRate(const std::string &name)
Standard constructor.
~ApplyE2YFakeRate()
Standard destructor.
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
virtual StatusCode getEventWeightCustom(FakeBkgTools::Weight &weight, const FakeBkgTools::FinalState &fs) override