ATLAS Offline Software
RandomSignalHypoJetVectorGenerator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGHLTJETHYPOUNITTESTS_RandomSignalHypoJetVectorGenerator_H
6 #define TRIGHLTJETHYPOUNITTESTS_RandomSignalHypoJetVectorGenerator_H
7 
10 #include "./RandUint.h"
11 #include "./RandDouble.h"
12 #include <random>
13 
14 
15 class RandomSignalHypoJetVectorGenerator: public extends<AthAlgTool,
16  IHypoJetVectorGenerator> {
17 
18  public:
19 
20  RandomSignalHypoJetVectorGenerator (const std::string& type,
21  const std::string& name,
22  const IInterface* parent);
23 
25 
26  virtual StatusCode initialize() override;
27  virtual HypoJetVector get() override;
28  virtual std::string toString() const override;
29 
30  private:
31 
32  Gaudi::Property<int>
33  m_n_sig_lo{this, "n_sig_lo", 2, "Lower bound nsig jets to generate "};
34 
35 
36  Gaudi::Property<int>
37  m_n_sig_hi{this, "n_sig_hi", 6, "Upper bound nsig jets to generate "};
38 
39 
40  Gaudi::Property<double>
41  m_e_sig_lo{this, "e_sig_lo", 50., "Lower bound e sig to generate "};
42 
43 
44  Gaudi::Property<double>
45  m_e_sig_hi{this, "e_sig_hi", 100., "Upper bound e sig to generate "};
46 
47 
48  Gaudi::Property<double>
49  m_eta_sig_hi{this, "eta_sig_hi", 3.2, "Upper bound eta sig to generate "};
50 
51 
52  Gaudi::Property<int>
53  m_nbkgd{this, "n_bkgd", 0, "No of background jets to generate "};
54 
55  Gaudi::Property<double>
56  m_bkgd_etmax{this, "bkgd_etmax", 0., "Max Et background jets"};
57 
58  Gaudi::Property<double>
59  m_bkgd_etamax{this, "bkgd_etamax", 5., "Lower limit Eta range background "};
60 
61  Gaudi::Property<bool>
62  m_useEtaEtNotEtaE{this, "useEtaEtNotEtaE", true, "e values or et values "};
63 
64 
65  std::default_random_engine m_shuffle_re;
71 
73 };
74 
75 #endif
RandomSignalHypoJetVectorGenerator::m_nbkgd
Gaudi::Property< int > m_nbkgd
Definition: RandomSignalHypoJetVectorGenerator.h:53
RandomSignalHypoJetVectorGenerator::toString
virtual std::string toString() const override
Definition: RandomSignalEventGenerator.cxx:45
RandomSignalHypoJetVectorGenerator::m_useEtaEtNotEtaE
Gaudi::Property< bool > m_useEtaEtNotEtaE
Definition: RandomSignalHypoJetVectorGenerator.h:62
RandomSignalHypoJetVectorGenerator::m_eta_sig_hi
Gaudi::Property< double > m_eta_sig_hi
Definition: RandomSignalHypoJetVectorGenerator.h:49
IHypoJetVectorGenerator.h
RandomSignalHypoJetVectorGenerator::m_shuffle_re
std::default_random_engine m_shuffle_re
Definition: RandomSignalHypoJetVectorGenerator.h:65
RandDouble
Definition: RandDouble.h:8
RandUint
Definition: RandUint.h:8
RandomSignalHypoJetVectorGenerator::m_n_sig_lo
Gaudi::Property< int > m_n_sig_lo
Definition: RandomSignalHypoJetVectorGenerator.h:33
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
RandomSignalHypoJetVectorGenerator::m_e_sig_lo
Gaudi::Property< double > m_e_sig_lo
Definition: RandomSignalHypoJetVectorGenerator.h:41
RandomSignalHypoJetVectorGenerator::m_randEnSig
RandDouble m_randEnSig
Definition: RandomSignalHypoJetVectorGenerator.h:68
test_pyathena.parent
parent
Definition: test_pyathena.py:15
HypoJetVector
std::vector< pHypoJet > HypoJetVector
Definition: HypoJetDefs.h:27
RandomSignalHypoJetVectorGenerator
Definition: RandomSignalHypoJetVectorGenerator.h:16
RandDouble.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
RandomSignalHypoJetVectorGenerator::m_n_sig_hi
Gaudi::Property< int > m_n_sig_hi
Definition: RandomSignalHypoJetVectorGenerator.h:37
RandomSignalHypoJetVectorGenerator::RandomSignalHypoJetVectorGenerator
RandomSignalHypoJetVectorGenerator(const std::string &type, const std::string &name, const IInterface *parent)
Definition: RandomSignalEventGenerator.cxx:16
RandomSignalHypoJetVectorGenerator::m_flip
RandUint m_flip
Definition: RandomSignalHypoJetVectorGenerator.h:72
RandomSignalHypoJetVectorGenerator::m_bkgd_etmax
Gaudi::Property< double > m_bkgd_etmax
Definition: RandomSignalHypoJetVectorGenerator.h:56
RandomSignalHypoJetVectorGenerator::m_randEtaBkd
RandDouble m_randEtaBkd
Definition: RandomSignalHypoJetVectorGenerator.h:69
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
RandomSignalHypoJetVectorGenerator::m_randEtaSig
RandDouble m_randEtaSig
Definition: RandomSignalHypoJetVectorGenerator.h:67
RandomSignalHypoJetVectorGenerator::m_bkgd_etamax
Gaudi::Property< double > m_bkgd_etamax
Definition: RandomSignalHypoJetVectorGenerator.h:59
RandomSignalHypoJetVectorGenerator::m_randEnBkd
RandDouble m_randEnBkd
Definition: RandomSignalHypoJetVectorGenerator.h:70
RandomSignalHypoJetVectorGenerator::m_randNSig
RandUint m_randNSig
Definition: RandomSignalHypoJetVectorGenerator.h:66
RandUint.h
RandomSignalHypoJetVectorGenerator::get
virtual HypoJetVector get() override
Definition: RandomSignalEventGenerator.cxx:63
RandomSignalHypoJetVectorGenerator::~RandomSignalHypoJetVectorGenerator
~RandomSignalHypoJetVectorGenerator()
Definition: RandomSignalHypoJetVectorGenerator.h:24
RandomSignalHypoJetVectorGenerator::initialize
virtual StatusCode initialize() override
Definition: RandomSignalEventGenerator.cxx:25
RandomSignalHypoJetVectorGenerator::m_e_sig_hi
Gaudi::Property< double > m_e_sig_hi
Definition: RandomSignalHypoJetVectorGenerator.h:45