ATLAS Offline Software
Loading...
Searching...
No Matches
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
9#include "Pythia8/UserHooks.h"
15
16class Pythia8B_i: public Pythia8_i {
17
18public:
19 Pythia8B_i(const std::string &name, ISvcLocator *pSvcLocator);
20
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
43private:
44
45 unsigned int m_had, m_dec;
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;
61 Pythia8::SuppressSmallPT *m_SuppressSmallPT;
62 unsigned int m_failureCount;
63
64};
65
66#endif
std::vector< long int > m_seeds
Definition Pythia8B_i.h:53
int m_totalClone
Definition Pythia8B_i.h:51
void printSignalSelections(const std::vector< int > &, const std::vector< double > &, const std::vector< double > &, unsigned int) const
std::vector< int > m_sigCodes
Definition Pythia8B_i.h:48
bool compare(std::vector< int >, std::vector< int >) const
static CLHEP::HepRandomEngine * p_rndmEngine
Definition Pythia8B_i.h:41
bool m_selectCQuarks
Definition Pythia8B_i.h:54
bool m_doSuppressSmallPT
Definition Pythia8B_i.h:60
int m_totalBQuark
Definition Pythia8B_i.h:51
int m_totalHard
Definition Pythia8B_i.h:51
std::vector< int > m_internalEventNumbers
Definition Pythia8B_i.h:59
double m_aqPtCut
Definition Pythia8B_i.h:55
std::vector< double > m_sigPtCuts
Definition Pythia8B_i.h:50
double m_aqEtaCut
Definition Pythia8B_i.h:55
unsigned int m_nSignalRequired
Definition Pythia8B_i.h:47
bool passesPTCuts(const std::vector< Pythia8::Particle > &) const
bool leptonSelect(Pythia8::Event &, const std::vector< double > &, double, const std::vector< int > &, int, double, bool)
int m_totalCQuark
Definition Pythia8B_i.h:51
Pythia8::SuppressSmallPT * m_SuppressSmallPT
Definition Pythia8B_i.h:61
unsigned int m_had
Definition Pythia8B_i.h:45
int m_atLeastOneAcc
Definition Pythia8B_i.h:51
int m_trigCode
Definition Pythia8B_i.h:46
virtual StatusCode callGenerator()
For calling the generator on each iteration of the event loop.
int m_totalBBarQuark
Definition Pythia8B_i.h:51
bool m_vetoDoubleC
Definition Pythia8B_i.h:54
void descendThroughDecay(Pythia8::Event &, std::vector< Pythia8::Particle > &, int) const
bool m_oppCharges
Definition Pythia8B_i.h:54
bool passesEtaCuts(const std::vector< Pythia8::Particle > &) const
unsigned int m_dec
Definition Pythia8B_i.h:45
std::vector< Pythia8::Event > m_BEventBuffer
Definition Pythia8B_i.h:58
std::vector< int > getCodes(const std::vector< Pythia8::Particle > &) const
std::vector< int > m_bcodes
Definition Pythia8B_i.h:48
double m_qEtaCut
Definition Pythia8B_i.h:55
std::map< int, int > m_speciesCount
Definition Pythia8B_i.h:52
double m_qPtCut
Definition Pythia8B_i.h:55
std::string m_userString
Definition Pythia8B_i.h:56
virtual StatusCode genFinalize()
For finalising the generator, if required.
bool m_vetoDoubleB
Definition Pythia8B_i.h:54
std::vector< int > m_cutCount
Definition Pythia8B_i.h:48
bool m_selectBQuarks
Definition Pythia8B_i.h:54
bool signalAccept(Pythia8::Event &, const std::vector< int > &, unsigned int) const
virtual StatusCode genuserInitialize()
For initialization of user code, if required. Called after genInitialize.
bool cleanUndecayed(Pythia8::Event &, const std::vector< int > &)
double m_invMass
Definition Pythia8B_i.h:55
unsigned int m_failureCount
Definition Pythia8B_i.h:62
std::vector< double > m_trigPtCut
Definition Pythia8B_i.h:49
virtual StatusCode fillEvt(HepMC::GenEvent *)
For filling the HepMC event object.
bool userSelection(Pythia8::Event &, std::string, std::vector< double >)
std::vector< double > m_userVar
Definition Pythia8B_i.h:57
bool pairProperties(Pythia8::Event &, const std::vector< int > &, double, bool)
virtual StatusCode genInitialize()
For initializing the generator, if required.
int m_totalPythiaCalls
Definition Pythia8B_i.h:51
std::vector< double > m_sigEtaCuts
Definition Pythia8B_i.h:50
int m_passingTriggerCuts
Definition Pythia8B_i.h:51
Pythia8B_i(const std::string &name, ISvcLocator *pSvcLocator)
int m_totalCBarQuark
Definition Pythia8B_i.h:51
int m_internal_event_number
Definition Pythia8B_i.h:51
double m_trigEtaCut
Definition Pythia8B_i.h:55
Pythia8_i(const std::string &name, ISvcLocator *pSvcLocator)
Definition Pythia8_i.cxx:68