51 {
52
53 auto factory = std::unique_ptr<ITLorentzVectorFactory>(nullptr);
55 factory.reset(new TLorentzVectorFactory());
56 } else {
57 factory.reset(new TLorentzVectorFactoryEtaE());
58 }
59
61
62 for(std::size_t i = 0;
i <
m_es.size(); ++
i){
65 auto tlv = factory->make(
eta,
et);
66 result.push_back(std::shared_ptr<const HypoJet::IJet>(
new TLorentzVectorAsIJet(tlv)));
67 }
68
71 std::uniform_real_distribution<double> eta_distribution(-
m_bkgd_etamax,
73
74 std::uniform_real_distribution<double> en_distribution(5.,
76
77
78
80 const auto&
eta = eta_distribution(generator);
81 const auto&
en = en_distribution(generator);
82
83 auto tlv = factory->make(
eta, en);
84 result.push_back(std::shared_ptr<const HypoJet::IJet>(
new TLorentzVectorAsIJet(tlv)));
85 }
86 }
87
90}
Scalar eta() const
pseudorapidity method
std::vector< pHypoJet > HypoJetVector
float et(const xAOD::jFexSRJetRoI *j)
Gaudi::Property< bool > m_useEtaEtNotEtaE
Gaudi::Property< std::vector< double > > m_es
Gaudi::Property< double > m_bkgd_etamax
Gaudi::Property< int > m_nbkgd
Gaudi::Property< std::vector< double > > m_etas
Gaudi::Property< double > m_bkgd_etmax
std::default_random_engine m_shuffle_re
generator
Configure Herwig7 These are the commands corresponding to what would go into the regular Herwig infil...
void shuffle(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end, UniformRandom &g)
Specialization of shuffle for DataVector/List.