ATLAS Offline Software
TauolaPP.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 
6 #ifndef TAUOLAPP_H
7 #define TAUOLAPP_H
8 
12 #include "GaudiKernel/ServiceHandle.h"
13 
14 #include "AtlasHepMC/GenEvent.h"
15 #include "AtlasHepMC/GenVertex.h"
16 
17 #include "CLHEP/Random/RandomEngine.h"
18 
19 
24 public:
25 
27  TauolaPP (const std::string& name, ISvcLocator* pSvcLocator);
28 
30  virtual StatusCode initialize() override;
31 
33  virtual StatusCode execute() override;
34 
35  static CLHEP::HepRandomEngine* p_rndmEngine;
36 
37 private:
38 
40 
41  void reseedRandomEngine(const std::string& streamName, const EventContext& ctx);
42  CLHEP::HepRandomEngine* getRandomEngine(const std::string& streamName, unsigned long int randomSeedOffset, const EventContext& ctx) const;
43  CLHEP::HepRandomEngine* getRandomEngineDuringInitialize(const std::string& streamName, unsigned long int randomSeedOffset, unsigned int conditionsRun=1, unsigned int lbn=1) const;
45 
47  StringProperty m_key{this, "McEventKey", "GEN_EVENT"};
48 
49  // Random number service
50  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc"};
51 
52  //Gen_tf run args.
53  IntegerProperty m_dsid{this, "Dsid", 999999};
54 
56  IntegerProperty m_randomSeed{this, "RandomSeed", 1234567, "Random seed for the built-in random engine"}; // FIXME make this into an unsigned long int?
57 
59 
60 
62  IntegerProperty m_decay_particle{this, "decay_particle", 15};
63 
65  IntegerProperty m_decay_mode_same{this, "decay_mode_same", 1};
66 
68  IntegerProperty m_decay_mode_opp{this, "decay_mode_opposite", 2};
69 
71  DoubleProperty m_tau_mass{this, "tau_mass", 1.77684};
72 
74  BooleanProperty m_spin_correlation{this, "spin_correlation", true};
75 
77  BooleanProperty m_setRadiation{this, "setRadiation", true};
78 
80  DoubleProperty m_setRadiationCutOff{this, "setRadiationCutOff", 0.01};
81 
82 };
83 
84 #endif
GenEvent.h
TauolaPP::p_rndmEngine
static CLHEP::HepRandomEngine * p_rndmEngine
Definition: TauolaPP.h:35
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
initialize
void initialize()
Definition: run_EoverP.cxx:894
GenVertex.h
LArG4FSStartPointFilterLegacy.execute
execute
Definition: LArG4FSStartPointFilterLegacy.py:20
AthAlgorithm.h
TauolaPP
This Algorithm provides an easy interface to Tauola C++ interface.
Definition: TauolaPP.h:23
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgorithm
Definition: AthAlgorithm.h:47
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AthenaPoolExample_Copy.streamName
string streamName
Definition: AthenaPoolExample_Copy.py:39
checker_macros.h
Define macros for attributes used to control the static checker.
LB_AnalMapSplitter.lbn
lbn
Definition: LB_AnalMapSplitter.py:28
IAthRNGSvc.h
ServiceHandle< IAthRNGSvc >