ATLAS Offline Software
Loading...
Searching...
No Matches
Photospp_i.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 GENERATOR_PHOTOSPP_H
6#define GENERATOR_PHOTOSPP_H
7
9#include "GaudiKernel/ServiceHandle.h"
10
12#include "CLHEP/Random/RandomEngine.h"
13
14extern "C" double phoranc_(int *idum);
15
16class Photospp_i : public AthAlgorithm{
17
18public:
19
21 Photospp_i(const std::string &name, ISvcLocator *pSvcLocator);
22
24 StatusCode initialize();
25
28 StatusCode execute();
29
33 void setupPhotos();
34
37 friend double ::phoranc_(int *idum);
38
39 static CLHEP::HepRandomEngine* p_rndmEngine;
40
41private:
42
44
45 void reseedRandomEngine(const std::string& streamName, const EventContext& ctx);
46 CLHEP::HepRandomEngine* getRandomEngine(const std::string& streamName, unsigned long int randomSeedOffset, const EventContext& ctx) const;
47 CLHEP::HepRandomEngine* getRandomEngineDuringInitialize(const std::string& streamName, unsigned long int randomSeedOffset, unsigned int conditionsRun=1, unsigned int lbn=1) const;
49
50 // Random number service
51 ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc"};
52
53 //Gen_tf run args.
54 IntegerProperty m_dsid{this, "Dsid", 999999};
55
57 IntegerProperty m_randomSeed{this, "RandomSeed", 1234567, "Random seed for the built-in random engine"}; // FIXME make this into an unsigned long int?
58
60 StringProperty m_genEventKey{this, "MCEventKey", "GEN_EVENT"};
61
63 BooleanProperty m_exponentiation{this, "ExponentiationMode", true};
64
66 BooleanProperty m_createHistory{this, "CreateHistory", false};
67
69 BooleanProperty m_stopCritical{this, "StopCriticalErrors", false};
70
72 BooleanProperty m_delayInitialisation{this, "DelayInitialisation", false};
73
75 BooleanProperty m_ZMECorrection{this, "ZMECorrection", false};
76
78 BooleanProperty m_WMECorrection{this, "WMECorrection", false};
79
81 BooleanProperty m_photonSplitting{this, "PhotonSplitting", false};
82
84 DoubleProperty m_infraRedCutOff{this, "InfraRedCutOff", -1./*, 1.e-07, 0.01/91.187*/};
86 DoubleProperty m_maxWtInterference{this, "WtInterference", 3.};
87
89 DoubleProperty m_alphaQED{this, "AlphaQED", 0.00729735039};
90
91};
92#endif
double phoranc_(int *idum)
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
BooleanProperty m_createHistory
Whether to create history entries (default = yes)
Definition Photospp_i.h:66
BooleanProperty m_photonSplitting
Whether to include photon splitting.
Definition Photospp_i.h:81
StatusCode execute()
Run Photos on one event Will require a pre-existing HepMC event in Storegate.
void setupPhotos()
Set up the Photos class This may be called in the initialize method or directly before the generation...
BooleanProperty m_stopCritical
Whether to stop on critical error (default = no)
Definition Photospp_i.h:69
Photospp_i(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena algorithm constructor.
BooleanProperty m_delayInitialisation
Delay initialisation until just before first event execution (default = no)
Definition Photospp_i.h:72
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition Photospp_i.h:51
CLHEP::HepRandomEngine * getRandomEngineDuringInitialize(const std::string &streamName, unsigned long int randomSeedOffset, unsigned int conditionsRun=1, unsigned int lbn=1) const
BooleanProperty m_WMECorrection
Whether to apply ME correction to W decays (default = no, until validated)
Definition Photospp_i.h:78
IntegerProperty m_randomSeed
Seed for random number engine.
Definition Photospp_i.h:57
DoubleProperty m_maxWtInterference
Definition Photospp_i.h:86
void reseedRandomEngine(const std::string &streamName, const EventContext &ctx)
IntegerProperty m_dsid
Definition Photospp_i.h:54
CLHEP::HepRandomEngine * getRandomEngine(const std::string &streamName, unsigned long int randomSeedOffset, const EventContext &ctx) const
DoubleProperty m_infraRedCutOff
Definition Photospp_i.h:84
StringProperty m_genEventKey
The GenEvent StoreGate key - FIXME should be using Read/WriteHandles here.
Definition Photospp_i.h:60
BooleanProperty m_ZMECorrection
Whether to apply ME correction to Z decays (default = no, until validated)
Definition Photospp_i.h:75
static CLHEP::HepRandomEngine * p_rndmEngine
Definition Photospp_i.h:39
BooleanProperty m_exponentiation
Whether to use exponentiation mode (default = yes)
Definition Photospp_i.h:63
StatusCode initialize()
Initialise the Photospp_i algorithm and required services.
DoubleProperty m_alphaQED
Value of alpha_QED.
Definition Photospp_i.h:89