ATLAS Offline Software
Pythia8B_i.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GENERATOR_PYTHIA8B_H
6 #define GENERATOR_PYTHIA8B_H
7 
8 #include "Pythia8_i/Pythia8_i.h"
9 #include "Pythia8/UserHooks.h"
16 class Pythia8B_i: public Pythia8_i {
17 
18 public:
19  Pythia8B_i(const std::string &name, ISvcLocator *pSvcLocator);
20 
21  ~Pythia8B_i();
22 
23  virtual StatusCode genInitialize();
24  virtual StatusCode genuserInitialize();
25  virtual StatusCode callGenerator();
26  virtual StatusCode genFinalize();
27  virtual StatusCode fillEvt(HepMC::GenEvent*);
28 
29  bool leptonSelect(Pythia8::Event&, const std::vector<double>&, double, const std::vector<int>&, int, double, bool);
30  bool cleanUndecayed(Pythia8::Event&, const std::vector<int>&);
31  bool pairProperties(Pythia8::Event&, const std::vector<int>&, double, bool);
32  void descendThroughDecay(Pythia8::Event&, std::vector<Pythia8::Particle>&, int) const;
33  std::vector<int> getCodes(const std::vector<Pythia8::Particle>&) const;
34  bool compare(std::vector<int>, std::vector<int>) const;
35  bool passesPTCuts(const std::vector<Pythia8::Particle>&) const;
36  bool passesEtaCuts(const std::vector<Pythia8::Particle>&) const;
37  bool signalAccept(Pythia8::Event&, const std::vector<int>&, unsigned int) const;
38  bool userSelection(Pythia8::Event&, std::string, std::vector<double>);
39  void printSignalSelections(const std::vector<int>&,const std::vector<double>&, const std::vector<double>&, unsigned int) const;
40 
41  static CLHEP::HepRandomEngine* p_rndmEngine;
42 
43 private:
44 
45  unsigned int m_had, m_dec;
46  int m_trigCode;
47  unsigned int m_nSignalRequired;
48  std::vector<int> m_bcodes, m_sigCodes, m_cutCount;
49  std::vector<double> m_trigPtCut;
50  std::vector<double> m_sigPtCuts, m_sigEtaCuts;
52  std::map<int,int> m_speciesCount;
53  std::vector<long int> m_seeds;
56  std::string m_userString;
57  std::vector<double> m_userVar;
58  std::vector<Pythia8::Event> m_BEventBuffer;
59  std::vector<int> m_internalEventNumbers;
62  unsigned int m_failureCount;
63 
64 };
65 
66 #endif
Pythia8B_i::m_seeds
std::vector< long int > m_seeds
Definition: Pythia8B_i.h:53
Pythia8B_i::m_totalHard
int m_totalHard
Definition: Pythia8B_i.h:51
Pythia8B_i::genuserInitialize
virtual StatusCode genuserInitialize()
For initialization of user code, if required. Called after genInitialize.
Definition: Pythia8B_i.cxx:125
Pythia8B_i::m_passingTriggerCuts
int m_passingTriggerCuts
Definition: Pythia8B_i.h:51
Pythia8B_i::m_userString
std::string m_userString
Definition: Pythia8B_i.h:56
Pythia8B_i::m_aqPtCut
double m_aqPtCut
Definition: Pythia8B_i.h:55
Pythia8B_i::m_BEventBuffer
std::vector< Pythia8::Event > m_BEventBuffer
Definition: Pythia8B_i.h:58
Pythia8B_i::m_bcodes
std::vector< int > m_bcodes
Definition: Pythia8B_i.h:48
Pythia8B_i::m_trigPtCut
std::vector< double > m_trigPtCut
Definition: Pythia8B_i.h:49
Pythia8B_i::passesPTCuts
bool passesPTCuts(const std::vector< Pythia8::Particle > &) const
Definition: Pythia8B_i.cxx:665
Pythia8B_i::m_had
unsigned int m_had
Definition: Pythia8B_i.h:45
Pythia8B_i::m_internalEventNumbers
std::vector< int > m_internalEventNumbers
Definition: Pythia8B_i.h:59
Pythia8B_i::passesEtaCuts
bool passesEtaCuts(const std::vector< Pythia8::Particle > &) const
Definition: Pythia8B_i.cxx:677
Pythia8B_i::m_sigCodes
std::vector< int > m_sigCodes
Definition: Pythia8B_i.h:48
Pythia8B_i::m_vetoDoubleC
bool m_vetoDoubleC
Definition: Pythia8B_i.h:54
JiveXML::Event
struct Event_t Event
Definition: ONCRPCServer.h:65
Pythia8B_i::m_totalPythiaCalls
int m_totalPythiaCalls
Definition: Pythia8B_i.h:51
Pythia8B_i::Pythia8B_i
Pythia8B_i(const std::string &name, ISvcLocator *pSvcLocator)
Definition: Pythia8B_i.cxx:28
Pythia8B_i::m_failureCount
unsigned int m_failureCount
Definition: Pythia8B_i.h:62
Pythia8B_i::m_speciesCount
std::map< int, int > m_speciesCount
Definition: Pythia8B_i.h:52
Pythia8B_i::m_totalCBarQuark
int m_totalCBarQuark
Definition: Pythia8B_i.h:51
Pythia8B_i::m_doSuppressSmallPT
bool m_doSuppressSmallPT
Definition: Pythia8B_i.h:60
Pythia8B_i::m_internal_event_number
int m_internal_event_number
Definition: Pythia8B_i.h:51
Pythia8B_i::m_invMass
double m_invMass
Definition: Pythia8B_i.h:55
Pythia8B_i
Authors: James Catmore and Maria Smizanska James.Catmore@cern.ch / Maria.Smizanska@cern....
Definition: Pythia8B_i.h:16
Pythia8B_i::m_selectBQuarks
bool m_selectBQuarks
Definition: Pythia8B_i.h:54
Pythia8B_i::getCodes
std::vector< int > getCodes(const std::vector< Pythia8::Particle > &) const
Definition: Pythia8B_i.cxx:632
Pythia8_i.h
Pythia8B_i::userSelection
bool userSelection(Pythia8::Event &, std::string, std::vector< double >)
Definition: UserSelections.h:236
Pythia8B_i::m_sigPtCuts
std::vector< double > m_sigPtCuts
Definition: Pythia8B_i.h:50
Pythia8B_i::m_aqEtaCut
double m_aqEtaCut
Definition: Pythia8B_i.h:55
Pythia8B_i::m_totalBBarQuark
int m_totalBBarQuark
Definition: Pythia8B_i.h:51
Pythia8B_i::m_qEtaCut
double m_qEtaCut
Definition: Pythia8B_i.h:55
Pythia8B_i::m_totalClone
int m_totalClone
Definition: Pythia8B_i.h:51
Pythia8B_i::descendThroughDecay
void descendThroughDecay(Pythia8::Event &, std::vector< Pythia8::Particle > &, int) const
Definition: Pythia8B_i.cxx:617
Pythia8_i
Definition: Pythia8_i.h:59
Pythia8B_i::signalAccept
bool signalAccept(Pythia8::Event &, const std::vector< int > &, unsigned int) const
Definition: Pythia8B_i.cxx:693
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Pythia8B_i::m_oppCharges
bool m_oppCharges
Definition: Pythia8B_i.h:54
Pythia8B_i::m_dec
unsigned int m_dec
Definition: Pythia8B_i.h:45
Pythia8B_i::m_userVar
std::vector< double > m_userVar
Definition: Pythia8B_i.h:57
Pythia8B_i::m_cutCount
std::vector< int > m_cutCount
Definition: Pythia8B_i.h:48
Pythia8B_i::leptonSelect
bool leptonSelect(Pythia8::Event &, const std::vector< double > &, double, const std::vector< int > &, int, double, bool)
Definition: Pythia8B_i.cxx:508
ppToJpsimu0mu0.SuppressSmallPT
SuppressSmallPT
Definition: ppToJpsimu0mu0.py:26
Pythia8B_i::m_nSignalRequired
unsigned int m_nSignalRequired
Definition: Pythia8B_i.h:47
Pythia8B_i::m_trigEtaCut
double m_trigEtaCut
Definition: Pythia8B_i.h:55
Pythia8B_i::genInitialize
virtual StatusCode genInitialize()
For initializing the generator, if required.
Definition: Pythia8B_i.cxx:84
Pythia8B_i::callGenerator
virtual StatusCode callGenerator()
For calling the generator on each iteration of the event loop.
Definition: Pythia8B_i.cxx:150
Pythia8B_i::genFinalize
virtual StatusCode genFinalize()
For finalising the generator, if required.
Definition: Pythia8B_i.cxx:418
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Pythia8B_i::m_sigEtaCuts
std::vector< double > m_sigEtaCuts
Definition: Pythia8B_i.h:50
Pythia8B_i::compare
bool compare(std::vector< int >, std::vector< int >) const
Definition: Pythia8B_i.cxx:646
Pythia8B_i::m_and
bool m_and
Definition: Pythia8B_i.h:54
Pythia8B_i::p_rndmEngine
static CLHEP::HepRandomEngine * p_rndmEngine
Definition: Pythia8B_i.h:41
Pythia8B_i::m_selectCQuarks
bool m_selectCQuarks
Definition: Pythia8B_i.h:54
Pythia8B_i::m_SuppressSmallPT
Pythia8::SuppressSmallPT * m_SuppressSmallPT
Definition: Pythia8B_i.h:61
Pythia8B_i::m_atLeastOneAcc
int m_atLeastOneAcc
Definition: Pythia8B_i.h:51
Pythia8B_i::m_totalBQuark
int m_totalBQuark
Definition: Pythia8B_i.h:51
Pythia8B_i::~Pythia8B_i
~Pythia8B_i()
Definition: Pythia8B_i.cxx:80
Pythia8B_i::printSignalSelections
void printSignalSelections(const std::vector< int > &, const std::vector< double > &, const std::vector< double > &, unsigned int) const
Definition: Pythia8B_i.cxx:760
Pythia8B_i::cleanUndecayed
bool cleanUndecayed(Pythia8::Event &, const std::vector< int > &)
Definition: Pythia8B_i.cxx:554
Pythia8B_i::m_trigCode
int m_trigCode
Definition: Pythia8B_i.h:46
Pythia8B_i::m_vetoDoubleB
bool m_vetoDoubleB
Definition: Pythia8B_i.h:54
Pythia8B_i::m_qPtCut
double m_qPtCut
Definition: Pythia8B_i.h:55
Pythia8B_i::m_totalCQuark
int m_totalCQuark
Definition: Pythia8B_i.h:51
Pythia8B_i::pairProperties
bool pairProperties(Pythia8::Event &, const std::vector< int > &, double, bool)
Definition: Pythia8B_i.cxx:578
Pythia8B_i::fillEvt
virtual StatusCode fillEvt(HepMC::GenEvent *)
For filling the HepMC event object.
Definition: Pythia8B_i.cxx:373