ATLAS Offline Software
Loading...
Searching...
No Matches
Hijing.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef GENERATORMODULESHIJING_H
6#define GENERATORMODULESHIJING_H
7
9#include "CLHEP/Vector/LorentzVector.h"
10
11#include "Hijing_i/HiParnt.h"
12#include "Hijing_i/RanSeed.h"
13#include "Hijing_i/HiMain1.h"
14#include "Hijing_i/HiMain2.h"
15#include "Hijing_i/HijJet1.h"
16#include "Hijing_i/HijJet2.h"
17#include "Hijing_i/HijJet4.h"
18#include "Hijing_i/HiStrng.h"
19#include "Hijing_i/HijCrdn.h"
20
21// new to store hijing event parameters
23
40
41class Hijing:public GenModule {
42public:
44 virtual ~Hijing() = default;
45
46 virtual StatusCode genInitialize() override;
47 virtual StatusCode callGenerator() override;
48 virtual StatusCode genFinalize() override;
49 virtual StatusCode fillEvt(HepMC::GenEvent* evt) override;
50
51protected:
52 virtual CLHEP::HepLorentzVector randomizeVertex(CLHEP::HepRandomEngine* engine);
53
54 //Gen_tf run args.
55 IntegerProperty m_dsid{this, "Dsid", 999999};
56
57 // inputs to HIJSET (Hijing initialization) ...
58 float m_efrm{0.};
59 std::string m_frame;
60 std::string m_proj;
61 std::string m_targ;
62 int m_iap{0};
63 int m_iat{0};
64 int m_izp{0};
65 int m_izt{0};
66 // ... and HIJING (event generation)
67 float m_bmin{0.};
68 float m_bmax{0.};
69
70 // Vertex shifting
71
72 DoubleProperty m_x{this, "x", 0.};
73 DoubleProperty m_y{this, "y", 0.};
74 DoubleProperty m_z{this, "z", 0.};
75 BooleanProperty m_sel{this, "selectVertex", false}; // Select vertex location (off for random)
76 BooleanProperty m_spec{this, "keepSpectators", true}; // TRUE will keep specator information (default)
77
78 //Set internal randomization of vertices for beam gas gen (on or off).
79 BooleanProperty m_rand{this, "randomizeVertices", false};
80 // Allow randoms off the beamline (out to the pipe)
81 BooleanProperty m_wide{this, "wide", false}; // True allows particles with x,y distributions
82 BooleanProperty m_prand{this, "randomizeP", false}; // BPK randomizes the left<->right direction by mirroring momenta for beam gas
83 BooleanProperty m_keepAllDecayVertices{this, "keepAllDecayVertices", true};
84
85 // Limit settings
86 DoubleProperty m_partonStoreMinPt{this, "partonStoreMinPt", 5.0};
87 DoubleProperty m_vertexOffsetCut{this, "vertexOffsetCut", 1.0E-7};
88
89 // Random numbers seed
91 std::vector<long int> m_seeds;
92
93 // event counter
94 int m_events{0};
95
96 // Commands to setup hijing
97 StringArrayProperty m_InitializeVector{this,
98 "Initialize",
99 {},
100 "List of parameters for Hijing initialization",
101 "GeneratorSettings<std::string>"};
102
103 // Accessor to HIJING Options and parameters COMMON
105
106 // Accessor to HIJING Random number seed COMMON
108
109 // Accessors to HIJING Event information COMMONS
117
118 void set_user_params(void);
119
120 SG::WriteHandleKey<HijingEventParams> m_event_paramsKey{this, "HijingOutputKey", "Hijing_event_params"};
121};
122
123#endif
GenModule(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition GenModule.cxx:14
Class definition for HiMain1, which is used to modify the Hijing HIMAIN1 common.
Definition HiMain1.h:19
Class definition for HiMain2, which is used to modify the Hijing HIMAIN2 common.
Definition HiMain2.h:17
Class definition for HiParnt, which is used to modify the Hijing HIPARNT common.
Definition HiParnt.h:18
Class definition for HiStrng, which is used to modify the Hijing HISTRNG common.
Definition HiStrng.h:17
Class definition for HijCrdn, which is used to modify the Hijing HIJCRDN common.
Definition HijCrdn.h:17
Class definition for HijJet1, which is used to modify the Hijing HIJJET1 common.
Definition HijJet1.h:16
Class definition for HijJet2, which is used to modify the Hijing HIJJET2 common.
Definition HijJet2.h:18
Class definition for HijJet4, which is used to modify the Hijing HIJJET4 common.
Definition HijJet4.h:19
HiParnt m_hiparnt
Definition Hijing.h:104
BooleanProperty m_wide
Definition Hijing.h:81
std::string m_targ
Definition Hijing.h:61
HijCrdn m_hijcrdn
Definition Hijing.h:116
HijJet4 m_hijjet4
Definition Hijing.h:114
std::string m_proj
Definition Hijing.h:60
int m_randomseed
Definition Hijing.h:90
float m_bmax
Definition Hijing.h:68
HiMain1 m_himain1
Definition Hijing.h:110
int m_iat
Definition Hijing.h:63
HijJet1 m_hijjet1
Definition Hijing.h:112
DoubleProperty m_x
Definition Hijing.h:72
void set_user_params(void)
Definition Hijing.cxx:786
RanSeed m_ranseed
Definition Hijing.h:107
HijJet2 m_hijjet2
Definition Hijing.h:113
virtual StatusCode genFinalize() override
For finalising the generator, if required.
Definition Hijing.cxx:224
HiMain2 m_himain2
Definition Hijing.h:111
DoubleProperty m_vertexOffsetCut
Definition Hijing.h:87
BooleanProperty m_sel
Definition Hijing.h:75
GenModule(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition GenModule.cxx:14
IntegerProperty m_dsid
Definition Hijing.h:55
float m_efrm
Definition Hijing.h:58
float m_bmin
Definition Hijing.h:67
int m_iap
Definition Hijing.h:62
StringArrayProperty m_InitializeVector
Definition Hijing.h:97
DoubleProperty m_y
Definition Hijing.h:73
BooleanProperty m_rand
Definition Hijing.h:79
int m_events
Definition Hijing.h:94
DoubleProperty m_partonStoreMinPt
Definition Hijing.h:86
std::vector< long int > m_seeds
Definition Hijing.h:91
BooleanProperty m_keepAllDecayVertices
Definition Hijing.h:83
DoubleProperty m_z
Definition Hijing.h:74
int m_izt
Definition Hijing.h:65
virtual StatusCode genInitialize() override
For initializing the generator, if required.
Definition Hijing.cxx:118
SG::WriteHandleKey< HijingEventParams > m_event_paramsKey
Definition Hijing.h:120
virtual CLHEP::HepLorentzVector randomizeVertex(CLHEP::HepRandomEngine *engine)
Definition Hijing.cxx:747
BooleanProperty m_spec
Definition Hijing.h:76
int m_izp
Definition Hijing.h:64
virtual StatusCode fillEvt(HepMC::GenEvent *evt) override
For filling the HepMC event object.
Definition Hijing.cxx:231
virtual StatusCode callGenerator() override
For calling the generator on each iteration of the event loop.
Definition Hijing.cxx:162
std::string m_frame
Definition Hijing.h:59
HiStrng m_histrng
Definition Hijing.h:115
BooleanProperty m_prand
Definition Hijing.h:82
virtual ~Hijing()=default
Class definition for RanSeed, which is used to modify the Hijing RANSEED common.
Definition RanSeed.h:19
Property holding a SG store/key/clid from which a WriteHandle is made.
HepMC3::GenEvent GenEvent
Definition GenEvent.h:39