ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
FastSimulation
FastChainPileup
FastChainPileup
MultiPy8Pileup.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef FASTCHAINPILEUP_MULTIPY8_PILEUP_H
6
#define FASTCHAINPILEUP_MULTIPY8_PILEUP_H
7
8
// MultiPy8Pileup.h - extension of Pythia8_i to generate multiple
9
// pileup events in one go for fast simulaton chain
10
// Inherits from Pythia8_i, following example of Pythia8B_i
11
12
// Richard Hawkings, started 20/2/15
13
14
#include <string>
15
#include <TROOT.h>
16
#include <TFile.h>
17
#include <TH1D.h>
18
19
#include "
Pythia8_i/Pythia8_i.h
"
20
21
#include "
AtlasHepMC/GenEvent_fwd.h
"
22
#include "
CxxUtils/checker_macros.h
"
23
24
class
ATLAS_NOT_THREAD_SAFE
MultiPy8Pileup
:
public
Pythia8_i
{
25
26
public
:
27
MultiPy8Pileup
(
const
std::string &name, ISvcLocator *pSvcLocator );
28
~MultiPy8Pileup
();
29
30
virtual
StatusCode
genInitialize
();
31
virtual
StatusCode
genFinalize
();
32
33
virtual
StatusCode
callGenerator
();
34
virtual
StatusCode
fillEvt
(
HepMC::GenEvent
*event );
35
36
private
:
37
int
nPileupEvents
(CLHEP::HepRandomEngine* rndmEngine);
// decide how much pileup events will be generated
38
// parameters
39
int
m_ncollevent
;
// fixed number of collisions per event
40
std::vector< int >
m_pileupProfile
;
// pileup mu-profile
41
std::vector< float >
m_multbcid
;
// mu multipliers per BCID
42
std::string
m_filename
;
// filename for histogram output
43
44
int
m_ngen
;
// total number of events generated
45
int
m_nbad
;
// total number of failed events
46
// int m_evnumber; // event sequence number
47
48
std::vector< HepMC::GenEvent * >
m_evts
;
// vector of generated minbias events
49
50
std::vector< double >
m_pileupProfileIntegral
;
51
52
TFile *
m_file
;
53
TH1D *
m_htgPileupProfile
, *
m_htgPileupMu
, *
m_htgPileupEvents
;
54
};
55
56
#endif
GenEvent_fwd.h
Pythia8_i.h
checker_macros.h
Define macros for attributes used to control the static checker.
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
MultiPy8Pileup::m_ngen
int m_ngen
Definition
MultiPy8Pileup.h:44
MultiPy8Pileup::m_pileupProfile
std::vector< int > m_pileupProfile
Definition
MultiPy8Pileup.h:40
MultiPy8Pileup::m_htgPileupEvents
TH1D * m_htgPileupEvents
Definition
MultiPy8Pileup.h:53
MultiPy8Pileup::m_multbcid
std::vector< float > m_multbcid
Definition
MultiPy8Pileup.h:41
MultiPy8Pileup::MultiPy8Pileup
MultiPy8Pileup(const std::string &name, ISvcLocator *pSvcLocator)
Definition
MultiPy8Pileup.cxx:17
MultiPy8Pileup::m_htgPileupMu
TH1D * m_htgPileupMu
Definition
MultiPy8Pileup.h:53
MultiPy8Pileup::m_pileupProfileIntegral
std::vector< double > m_pileupProfileIntegral
Definition
MultiPy8Pileup.h:50
MultiPy8Pileup::m_file
TFile * m_file
Definition
MultiPy8Pileup.h:52
MultiPy8Pileup::m_filename
std::string m_filename
Definition
MultiPy8Pileup.h:42
MultiPy8Pileup::nPileupEvents
int nPileupEvents(CLHEP::HepRandomEngine *rndmEngine)
Definition
MultiPy8Pileup.cxx:156
MultiPy8Pileup::m_ncollevent
int m_ncollevent
Definition
MultiPy8Pileup.h:39
MultiPy8Pileup::m_nbad
int m_nbad
Definition
MultiPy8Pileup.h:45
MultiPy8Pileup::m_htgPileupProfile
TH1D * m_htgPileupProfile
Definition
MultiPy8Pileup.h:53
MultiPy8Pileup::m_evts
std::vector< HepMC::GenEvent * > m_evts
Definition
MultiPy8Pileup.h:48
Pythia8_i::genInitialize
virtual StatusCode genInitialize()
For initializing the generator, if required.
Definition
Pythia8_i.cxx:105
Pythia8_i::fillEvt
virtual StatusCode fillEvt(HepMC::GenEvent *evt)
For filling the HepMC event object.
Definition
Pythia8_i.cxx:437
Pythia8_i::callGenerator
virtual StatusCode callGenerator()
For calling the generator on each iteration of the event loop.
Definition
Pythia8_i.cxx:372
Pythia8_i::genFinalize
virtual StatusCode genFinalize()
For finalising the generator, if required.
Definition
Pythia8_i.cxx:637
Pythia8_i::Pythia8_i
Pythia8_i(const std::string &name, ISvcLocator *pSvcLocator)
Definition
Pythia8_i.cxx:68
HepMC::GenEvent
HepMC3::GenEvent GenEvent
Definition
GenEvent.h:39
Generated on
for ATLAS Offline Software by
1.17.0