18 const std::string& name,
19 const IInterface* parent) :
20 base_class(
type, name, parent){
28 ATH_MSG_ERROR(
"Config error: no of Et values != no of Eta values"
30 return StatusCode::FAILURE;
33 return StatusCode::SUCCESS;
39 ss << name() <<
":: e: ";
40 for(
const auto& e :
m_es){
ss << e <<
", ";}
42 for(
const auto& e :
m_etas){
ss << e <<
", ";}
53 auto factory = std::unique_ptr<ITLorentzVectorFactory>(
nullptr);
62 for(std::size_t i = 0; i <
m_es.size(); ++i){
65 auto tlv = factory->make(
eta,
et);
70 std::default_random_engine generator;
71 std::uniform_real_distribution<double> eta_distribution(-
m_bkgd_etamax,
74 std::uniform_real_distribution<double> en_distribution(5.,
79 for(
int i = 0; i <
m_nbkgd; ++i){
80 const auto&
eta = eta_distribution(generator);
81 const auto& en = en_distribution(generator);
83 auto tlv = factory->make(
eta, en);
Scalar eta() const
pseudorapidity method
std::vector< pHypoJet > HypoJetVector
SimpleHypoJetVectorGenerator(const std::string &type, const std::string &name, const IInterface *parent)
virtual std::string toString() const override
Gaudi::Property< bool > m_useEtaEtNotEtaE
virtual StatusCode initialize() override
Gaudi::Property< std::vector< double > > m_es
virtual HypoJetVector get() override
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
void shuffle(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end, UniformRandom &g)
Specialization of shuffle for DataVector/List.
Extra patterns decribing particle interation process.