ATLAS Offline Software
Loading...
Searching...
No Matches
Hijing.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 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
21typedef std::vector<std::string> CommandVector;
22
23// new to store hijing event parameters
25
42
43class Hijing:public GenModule {
44public:
45 Hijing(const std::string& name, ISvcLocator* pSvcLocator);
46 virtual ~Hijing() = default;
47
48 virtual StatusCode genInitialize() override;
49 virtual StatusCode callGenerator() override;
50 virtual StatusCode genFinalize() override;
51 virtual StatusCode fillEvt(HepMC::GenEvent* evt) override;
52
53protected:
54 virtual CLHEP::HepLorentzVector randomizeVertex(CLHEP::HepRandomEngine* engine);
55
56 //Gen_tf run args.
57 IntegerProperty m_dsid{this, "Dsid", 999999};
58
59 // inputs to HIJSET (Hijing initialization) ...
60 float m_efrm{0.};
61 std::string m_frame;
62 std::string m_proj;
63 std::string m_targ;
64 int m_iap{0};
65 int m_iat{0};
66 int m_izp{0};
67 int m_izt{0};
68 // ... and HIJING (event generation)
69 float m_bmin{0.};
70 float m_bmax{0.};
71
72 // Vertex shifting
73
74 float m_x{0.};
75 float m_y{0.};
76 float m_z{0.};
77 bool m_sel{false}; // Vertex shifting on or off
78 bool m_spec{true}; // TRUE will keep specator information (default)
79
80 //Set internal randomization of vertices for beam gas gen (on or off).
81 bool m_rand{false};
82 bool m_wide{false}; // True allows particles with x,y distributions
83 bool m_prand{false}; //BPK mirror event randomly
85
86 // Limit settings
87 double m_partonStoreMinPt{5.0};
88 double m_vertexOffsetCut{1.0E-7};
89
90 // Random numbers seed
92 std::vector<long int> m_seeds;
93
94 // event counter
95 int m_events{0};
96
97 // Commands to setup hijing
99
100 // Accessor to HIJING Options and parameters COMMON
102
103 // Accessor to HIJING Random number seed COMMON
105
106 // Accessors to HIJING Event information COMMONS
114
115 void set_user_params(void);
116
117 SG::WriteHandleKey<HijingEventParams> m_event_paramsKey{this, "HijingOutputKey", "Hijing_event_params"};
118};
119
120#endif
std::vector< std::string > CommandVector
Definition Hijing.h:21
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:101
bool m_wide
Definition Hijing.h:82
std::string m_targ
Definition Hijing.h:63
HijCrdn m_hijcrdn
Definition Hijing.h:113
HijJet4 m_hijjet4
Definition Hijing.h:111
std::string m_proj
Definition Hijing.h:62
bool m_sel
Definition Hijing.h:77
int m_randomseed
Definition Hijing.h:91
float m_bmax
Definition Hijing.h:70
HiMain1 m_himain1
Definition Hijing.h:107
int m_iat
Definition Hijing.h:65
HijJet1 m_hijjet1
Definition Hijing.h:109
bool m_prand
Definition Hijing.h:83
float m_y
Definition Hijing.h:75
Hijing(const std::string &name, ISvcLocator *pSvcLocator)
Definition Hijing.cxx:68
double m_vertexOffsetCut
Definition Hijing.h:88
void set_user_params(void)
Definition Hijing.cxx:784
RanSeed m_ranseed
Definition Hijing.h:104
HijJet2 m_hijjet2
Definition Hijing.h:110
virtual StatusCode genFinalize() override
For finalising the generator, if required.
Definition Hijing.cxx:194
bool m_spec
Definition Hijing.h:78
HiMain2 m_himain2
Definition Hijing.h:108
float m_x
Definition Hijing.h:74
float m_z
Definition Hijing.h:76
IntegerProperty m_dsid
Definition Hijing.h:57
float m_efrm
Definition Hijing.h:60
float m_bmin
Definition Hijing.h:69
int m_iap
Definition Hijing.h:64
int m_events
Definition Hijing.h:95
std::vector< long int > m_seeds
Definition Hijing.h:92
int m_izt
Definition Hijing.h:67
virtual StatusCode genInitialize() override
For initializing the generator, if required.
Definition Hijing.cxx:85
SG::WriteHandleKey< HijingEventParams > m_event_paramsKey
Definition Hijing.h:117
virtual CLHEP::HepLorentzVector randomizeVertex(CLHEP::HepRandomEngine *engine)
Definition Hijing.cxx:745
int m_izp
Definition Hijing.h:66
virtual StatusCode fillEvt(HepMC::GenEvent *evt) override
For filling the HepMC event object.
Definition Hijing.cxx:201
virtual StatusCode callGenerator() override
For calling the generator on each iteration of the event loop.
Definition Hijing.cxx:135
double m_partonStoreMinPt
Definition Hijing.h:87
bool m_rand
Definition Hijing.h:81
std::string m_frame
Definition Hijing.h:61
HiStrng m_histrng
Definition Hijing.h:112
bool m_keepAllDecayVertices
Definition Hijing.h:84
virtual ~Hijing()=default
CommandVector m_InitializeVector
Definition Hijing.h:98
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.