ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
ISF::PunchThroughParticle Class Reference

#include <PunchThroughParticle.h>

Collaboration diagram for ISF::PunchThroughParticle:

Public Member Functions

 PunchThroughParticle (int pdg, bool doAnti=false)
 set this particle's pdg code and if anti-particle should be done or not More...
 
 ~PunchThroughParticle ()
 destructor More...
 
void setMinEnergy (double minEnergy)
 set methods More...
 
void setMaxNumParticles (int maxNum)
 the maximum number of particles which will be created More...
 
void setNumParticlesFactor (double numFactor)
 to scale the number of punch-through particles More...
 
void setEnergyFactor (double energyFactor)
 to scale the energy of created particles More...
 
void setPosAngleFactor (double momAngleFactor)
 to scale the position deflection angles More...
 
void setMomAngleFactor (double momAngleFactor)
 to scale the momentum deviation of created particles More...
 
void setNumParticlesPDF (std::unique_ptr< PDFcreator > pdf)
 set the PDFcreator for the number of exit particles distribution More...
 
void setCorrelation (int corrPdg, TH2F *histLowE, TH2F *histHighE, double minCorrE=0., double fullCorrE=0., double lowE=0., double midE=0., double upperE=0.)
 set the correlated particle type + correlation histograms More...
 
void setPCA0PDF (std::unique_ptr< PDFcreator > pdf)
 set the PDFcreator for the energy distribution More...
 
void setPCA1PDF (std::unique_ptr< PDFcreator > pdf)
 set the PDFcreator for the deltaTheta distribution More...
 
void setPCA2PDF (std::unique_ptr< PDFcreator > pdf)
 set the PDFcreator for the deltaPhi distribution More...
 
void setPCA3PDF (std::unique_ptr< PDFcreator > pdf)
 set the PDFcreator for the momentumDeltaTheta distribution More...
 
void setPCA4PDF (std::unique_ptr< PDFcreator > pdf)
 set the PDFcreator for the momentumDeltaPhi distribution More...
 
int getId ()
 get-access methods More...
 
bool getdoAnti ()
 get this particle's pdg code More...
 
double getMinEnergy ()
 get if anti-particles should be done or not More...
 
double getNumParticlesFactor ()
 the minimum energy with which these particles should be created More...
 
double getEnergyFactor ()
 to scale the number of punch-through particles More...
 
double getPosAngleFactor ()
 to scale the energy of created particles More...
 
double getMomAngleFactor ()
 to scale the position deviation angles More...
 
int getMaxNumParticles ()
 to scale the momentum deviation of created particles More...
 
int getCorrelatedPdg ()
 the maximum number of particles which will be created More...
 
int getMinCorrelationEnergy ()
 the correlated particle id More...
 
int getFullCorrelationEnergy ()
 minimum energy for correlation More...
 
TH2FgetCorrelationLowEHist ()
 the full correlation energy More...
 
TH2FgetCorrelationHighEHist ()
 the correlation histogram (low energies) More...
 
double * getCorrelationHistDomains ()
 the correlation histogram (high energies) More...
 
PDFcreatorgetNumParticlesPDF ()
 correlation histogram domains [lowE,midE,upperE] More...
 
PDFcreatorgetPCA0PDF ()
 distribution parameters for the number of particles More...
 
PDFcreatorgetPCA1PDF ()
 distribution parameters for the exit energy More...
 
PDFcreatorgetPCA2PDF ()
 distribution parameters for the exit delta theta More...
 
PDFcreatorgetPCA3PDF ()
 distribution parameters for the exit delta phi More...
 
PDFcreatorgetPCA4PDF ()
 distribution parameters for the momentum delta theta More...
 

Private Attributes

int m_pdgId
 distribution parameters for the momentum delta phi More...
 
bool m_doAnti
 do also anti-particles? More...
 
double m_minEnergy
 some cut-parameters which will be set via python More...
 
int m_maxNum
 the maximum number of particles which will be created More...
 
double m_numParticlesFactor
 some tuning-parameters which will be set via python More...
 
double m_energyFactor
 scale the energy of this particle type More...
 
double m_posAngleFactor
 scale the position deflection angles More...
 
double m_momAngleFactor
 scale the momentum deviation More...
 
int m_corrPdg
 all following stores the right distributions for all properties of the punch-through particles More...
 
double m_corrMinEnergy
 below this energy threshold, no particle correlation is computed More...
 
double m_corrFullEnergy
 holds the energy threshold above which a particle correlation is fully developed More...
 
TH2Fm_histCorrLowE
 low energy correlation histogram (x:this particle, y:the correlated particle) More...
 
TH2Fm_histCorrHighE
 high energy correlation histogram (x:this particle, y:the correlated particle) More...
 
double * m_corrHistDomains
 correlation histogram domains More...
 
std::unique_ptr< PDFcreatorm_pdfNumParticles
 number of punch-through particles More...
 
std::unique_ptr< PDFcreatorm_pdf_pca0
 energy of punch-through particles More...
 
std::unique_ptr< PDFcreatorm_pdf_pca1
 theta deviation of punch-through particles More...
 
std::unique_ptr< PDFcreatorm_pdf_pca2
 phi deviation of punch-through particles More...
 
std::unique_ptr< PDFcreatorm_pdf_pca3
 delta theta angle of punch-through particle momentum More...
 
std::unique_ptr< PDFcreatorm_pdf_pca4
 delta phi angle of punch-through particle momentum More...
 

Detailed Description

This class holds information for different properties of a punch-through particle (energy, theta, phi) distributions

Author
Elmar Ritsch Elmar.nosp@m..Rit.nosp@m.sch@c.nosp@m.ern..nosp@m.ch @maintainer/updater Thomas Carter thoma.nosp@m.s.mi.nosp@m.chael.nosp@m..car.nosp@m.ter@c.nosp@m.ern..nosp@m.ch

Definition at line 32 of file PunchThroughParticle.h.

Constructor & Destructor Documentation

◆ PunchThroughParticle()

ISF::PunchThroughParticle::PunchThroughParticle ( int  pdg,
bool  doAnti = false 
)

set this particle's pdg code and if anti-particle should be done or not

Definition at line 19 of file PunchThroughParticle.cxx.

19  :
20  m_pdgId(pdg),
21  m_doAnti(doAnti),
22  m_minEnergy(0.),
23  m_maxNum(-1),
25  m_energyFactor(1.),
26  m_posAngleFactor(1.),
27  m_momAngleFactor(1.),
28  m_corrPdg(0),
29  m_corrMinEnergy(0),
31  m_histCorrLowE(nullptr),
32  m_histCorrHighE(nullptr),
33  m_corrHistDomains(nullptr),
34  m_pdfNumParticles(nullptr), //does this number ever change?
35  m_pdf_pca0(nullptr),
36  m_pdf_pca1(nullptr),
37  m_pdf_pca2(nullptr),
38  m_pdf_pca3(nullptr),
39  m_pdf_pca4(nullptr)
40 { }

◆ ~PunchThroughParticle()

ISF::PunchThroughParticle::~PunchThroughParticle ( )

destructor

Definition at line 46 of file PunchThroughParticle.cxx.

47 {
48  delete[] m_corrHistDomains;
49 }

Member Function Documentation

◆ getCorrelatedPdg()

int ISF::PunchThroughParticle::getCorrelatedPdg ( )
inline

the maximum number of particles which will be created

Definition at line 68 of file PunchThroughParticle.h.

68 { return m_corrPdg; };

◆ getCorrelationHighEHist()

TH2F* ISF::PunchThroughParticle::getCorrelationHighEHist ( )
inline

the correlation histogram (low energies)

Definition at line 72 of file PunchThroughParticle.h.

72 { return m_histCorrHighE; };

◆ getCorrelationHistDomains()

double* ISF::PunchThroughParticle::getCorrelationHistDomains ( )
inline

the correlation histogram (high energies)

Definition at line 73 of file PunchThroughParticle.h.

73 { return m_corrHistDomains; };

◆ getCorrelationLowEHist()

TH2F* ISF::PunchThroughParticle::getCorrelationLowEHist ( )
inline

the full correlation energy

Definition at line 71 of file PunchThroughParticle.h.

71 { return m_histCorrLowE; };

◆ getdoAnti()

bool ISF::PunchThroughParticle::getdoAnti ( )
inline

get this particle's pdg code

Definition at line 60 of file PunchThroughParticle.h.

60 { return m_doAnti; };

◆ getEnergyFactor()

double ISF::PunchThroughParticle::getEnergyFactor ( )
inline

to scale the number of punch-through particles

Definition at line 63 of file PunchThroughParticle.h.

63 { return m_energyFactor; };

◆ getFullCorrelationEnergy()

int ISF::PunchThroughParticle::getFullCorrelationEnergy ( )
inline

minimum energy for correlation

Definition at line 70 of file PunchThroughParticle.h.

70 { return m_corrFullEnergy; };

◆ getId()

int ISF::PunchThroughParticle::getId ( )
inline

get-access methods

Definition at line 59 of file PunchThroughParticle.h.

59 { return m_pdgId; };

◆ getMaxNumParticles()

int ISF::PunchThroughParticle::getMaxNumParticles ( )
inline

to scale the momentum deviation of created particles

Definition at line 67 of file PunchThroughParticle.h.

67 { return m_maxNum; };

◆ getMinCorrelationEnergy()

int ISF::PunchThroughParticle::getMinCorrelationEnergy ( )
inline

the correlated particle id

Definition at line 69 of file PunchThroughParticle.h.

69 { return m_corrMinEnergy; };

◆ getMinEnergy()

double ISF::PunchThroughParticle::getMinEnergy ( )
inline

get if anti-particles should be done or not

Definition at line 61 of file PunchThroughParticle.h.

61 { return m_minEnergy; };

◆ getMomAngleFactor()

double ISF::PunchThroughParticle::getMomAngleFactor ( )
inline

to scale the position deviation angles

Definition at line 65 of file PunchThroughParticle.h.

65 { return m_momAngleFactor; };

◆ getNumParticlesFactor()

double ISF::PunchThroughParticle::getNumParticlesFactor ( )
inline

the minimum energy with which these particles should be created

Definition at line 62 of file PunchThroughParticle.h.

62 { return m_numParticlesFactor; };

◆ getNumParticlesPDF()

PDFcreator* ISF::PunchThroughParticle::getNumParticlesPDF ( )
inline

correlation histogram domains [lowE,midE,upperE]

Definition at line 74 of file PunchThroughParticle.h.

74 { return m_pdfNumParticles.get(); };

◆ getPCA0PDF()

PDFcreator* ISF::PunchThroughParticle::getPCA0PDF ( )
inline

distribution parameters for the number of particles

Definition at line 75 of file PunchThroughParticle.h.

75 { return m_pdf_pca0.get(); };

◆ getPCA1PDF()

PDFcreator* ISF::PunchThroughParticle::getPCA1PDF ( )
inline

distribution parameters for the exit energy

Definition at line 76 of file PunchThroughParticle.h.

76 { return m_pdf_pca1.get(); };

◆ getPCA2PDF()

PDFcreator* ISF::PunchThroughParticle::getPCA2PDF ( )
inline

distribution parameters for the exit delta theta

Definition at line 77 of file PunchThroughParticle.h.

77 { return m_pdf_pca2.get(); };

◆ getPCA3PDF()

PDFcreator* ISF::PunchThroughParticle::getPCA3PDF ( )
inline

distribution parameters for the exit delta phi

Definition at line 78 of file PunchThroughParticle.h.

78 { return m_pdf_pca3.get(); };

◆ getPCA4PDF()

PDFcreator* ISF::PunchThroughParticle::getPCA4PDF ( )
inline

distribution parameters for the momentum delta theta

Definition at line 79 of file PunchThroughParticle.h.

79 { return m_pdf_pca4.get(); };

◆ getPosAngleFactor()

double ISF::PunchThroughParticle::getPosAngleFactor ( )
inline

to scale the energy of created particles

Definition at line 64 of file PunchThroughParticle.h.

64 { return m_posAngleFactor; };

◆ setCorrelation()

void ISF::PunchThroughParticle::setCorrelation ( int  corrPdg,
TH2F histLowE,
TH2F histHighE,
double  minCorrE = 0.,
double  fullCorrE = 0.,
double  lowE = 0.,
double  midE = 0.,
double  upperE = 0. 
)

set the correlated particle type + correlation histograms

  • full energy correlation threshold
  • histogram domains histLowE:[lowE,midE] histHighE:[midE,upperE]

Definition at line 125 of file PunchThroughParticle.cxx.

132 {
133  m_corrPdg = corrPdg;
134  m_histCorrLowE = histLowE;
135  m_histCorrHighE = histHighE;
136  m_corrMinEnergy = minCorrelationEnergy;
137  m_corrFullEnergy = fullCorrelationEnergy;
138 
139  m_corrHistDomains = new double [3];
140  m_corrHistDomains[0] = lowE;
141  m_corrHistDomains[1] = midE;
142  m_corrHistDomains[2] = upperE;
143 }

◆ setEnergyFactor()

void ISF::PunchThroughParticle::setEnergyFactor ( double  energyFactor)

to scale the energy of created particles

Definition at line 86 of file PunchThroughParticle.cxx.

87 {
88  m_energyFactor = energyFactor;
89 }

◆ setMaxNumParticles()

void ISF::PunchThroughParticle::setMaxNumParticles ( int  maxNum)

the maximum number of particles which will be created

Definition at line 66 of file PunchThroughParticle.cxx.

67 {
68  m_maxNum = maxNum;
69 }

◆ setMinEnergy()

void ISF::PunchThroughParticle::setMinEnergy ( double  minEnergy)

set methods

the minimum energy with which these particles should be created

Definition at line 56 of file PunchThroughParticle.cxx.

57 {
58  m_minEnergy = minEnergy;
59 }

◆ setMomAngleFactor()

void ISF::PunchThroughParticle::setMomAngleFactor ( double  momAngleFactor)

to scale the momentum deviation of created particles

Definition at line 105 of file PunchThroughParticle.cxx.

106 {
107  m_momAngleFactor = momAngleFactor;
108 }

◆ setNumParticlesFactor()

void ISF::PunchThroughParticle::setNumParticlesFactor ( double  numFactor)

to scale the number of punch-through particles

Definition at line 76 of file PunchThroughParticle.cxx.

77 {
78  m_numParticlesFactor = numFactor;
79 }

◆ setNumParticlesPDF()

void ISF::PunchThroughParticle::setNumParticlesPDF ( std::unique_ptr< PDFcreator pdf)

set the PDFcreator for the number of exit particles distribution

Definition at line 115 of file PunchThroughParticle.cxx.

116 {
117  m_pdfNumParticles = std::move(pdf);
118 }

◆ setPCA0PDF()

void ISF::PunchThroughParticle::setPCA0PDF ( std::unique_ptr< PDFcreator pdf)

set the PDFcreator for the energy distribution

Definition at line 151 of file PunchThroughParticle.cxx.

152 {
153  m_pdf_pca0 = std::move(pdf);
154 }

◆ setPCA1PDF()

void ISF::PunchThroughParticle::setPCA1PDF ( std::unique_ptr< PDFcreator pdf)

set the PDFcreator for the deltaTheta distribution

Definition at line 161 of file PunchThroughParticle.cxx.

162 {
163  m_pdf_pca1 = std::move(pdf);
164 }

◆ setPCA2PDF()

void ISF::PunchThroughParticle::setPCA2PDF ( std::unique_ptr< PDFcreator pdf)

set the PDFcreator for the deltaPhi distribution

Definition at line 171 of file PunchThroughParticle.cxx.

172 {
173  m_pdf_pca2 = std::move(pdf);
174 }

◆ setPCA3PDF()

void ISF::PunchThroughParticle::setPCA3PDF ( std::unique_ptr< PDFcreator pdf)

set the PDFcreator for the momentumDeltaTheta distribution

Definition at line 180 of file PunchThroughParticle.cxx.

181 {
182  m_pdf_pca3 = std::move(pdf);
183 }

◆ setPCA4PDF()

void ISF::PunchThroughParticle::setPCA4PDF ( std::unique_ptr< PDFcreator pdf)

set the PDFcreator for the momentumDeltaPhi distribution

Definition at line 189 of file PunchThroughParticle.cxx.

190 {
191  m_pdf_pca4 = std::move(pdf);
192 }

◆ setPosAngleFactor()

void ISF::PunchThroughParticle::setPosAngleFactor ( double  momAngleFactor)

to scale the position deflection angles

Definition at line 96 of file PunchThroughParticle.cxx.

97 {
98  m_posAngleFactor = posAngleFactor;
99 }

Member Data Documentation

◆ m_corrFullEnergy

double ISF::PunchThroughParticle::m_corrFullEnergy
private

holds the energy threshold above which a particle correlation is fully developed

Definition at line 98 of file PunchThroughParticle.h.

◆ m_corrHistDomains

double* ISF::PunchThroughParticle::m_corrHistDomains
private

correlation histogram domains

Definition at line 103 of file PunchThroughParticle.h.

◆ m_corrMinEnergy

double ISF::PunchThroughParticle::m_corrMinEnergy
private

below this energy threshold, no particle correlation is computed

Definition at line 97 of file PunchThroughParticle.h.

◆ m_corrPdg

int ISF::PunchThroughParticle::m_corrPdg
private

all following stores the right distributions for all properties of the punch-through particles

correlation to any other punch-through particle type

Definition at line 96 of file PunchThroughParticle.h.

◆ m_doAnti

bool ISF::PunchThroughParticle::m_doAnti
private

do also anti-particles?

Definition at line 83 of file PunchThroughParticle.h.

◆ m_energyFactor

double ISF::PunchThroughParticle::m_energyFactor
private

scale the energy of this particle type

Definition at line 91 of file PunchThroughParticle.h.

◆ m_histCorrHighE

TH2F* ISF::PunchThroughParticle::m_histCorrHighE
private

high energy correlation histogram (x:this particle, y:the correlated particle)

Definition at line 102 of file PunchThroughParticle.h.

◆ m_histCorrLowE

TH2F* ISF::PunchThroughParticle::m_histCorrLowE
private

low energy correlation histogram (x:this particle, y:the correlated particle)

Definition at line 101 of file PunchThroughParticle.h.

◆ m_maxNum

int ISF::PunchThroughParticle::m_maxNum
private

the maximum number of particles which will be created

Definition at line 87 of file PunchThroughParticle.h.

◆ m_minEnergy

double ISF::PunchThroughParticle::m_minEnergy
private

some cut-parameters which will be set via python

the minimum energy with which these particles should be created

Definition at line 86 of file PunchThroughParticle.h.

◆ m_momAngleFactor

double ISF::PunchThroughParticle::m_momAngleFactor
private

scale the momentum deviation

Definition at line 93 of file PunchThroughParticle.h.

◆ m_numParticlesFactor

double ISF::PunchThroughParticle::m_numParticlesFactor
private

some tuning-parameters which will be set via python

scale the number of particles created

Definition at line 90 of file PunchThroughParticle.h.

◆ m_pdf_pca0

std::unique_ptr<PDFcreator> ISF::PunchThroughParticle::m_pdf_pca0
private

energy of punch-through particles

Definition at line 105 of file PunchThroughParticle.h.

◆ m_pdf_pca1

std::unique_ptr<PDFcreator> ISF::PunchThroughParticle::m_pdf_pca1
private

theta deviation of punch-through particles

Definition at line 106 of file PunchThroughParticle.h.

◆ m_pdf_pca2

std::unique_ptr<PDFcreator> ISF::PunchThroughParticle::m_pdf_pca2
private

phi deviation of punch-through particles

Definition at line 107 of file PunchThroughParticle.h.

◆ m_pdf_pca3

std::unique_ptr<PDFcreator> ISF::PunchThroughParticle::m_pdf_pca3
private

delta theta angle of punch-through particle momentum

Definition at line 108 of file PunchThroughParticle.h.

◆ m_pdf_pca4

std::unique_ptr<PDFcreator> ISF::PunchThroughParticle::m_pdf_pca4
private

delta phi angle of punch-through particle momentum

Definition at line 109 of file PunchThroughParticle.h.

◆ m_pdfNumParticles

std::unique_ptr<PDFcreator> ISF::PunchThroughParticle::m_pdfNumParticles
private

number of punch-through particles

Definition at line 104 of file PunchThroughParticle.h.

◆ m_pdgId

int ISF::PunchThroughParticle::m_pdgId
private

distribution parameters for the momentum delta phi

the pdg-id of this particle

Definition at line 82 of file PunchThroughParticle.h.

◆ m_posAngleFactor

double ISF::PunchThroughParticle::m_posAngleFactor
private

scale the position deflection angles

Definition at line 92 of file PunchThroughParticle.h.


The documentation for this class was generated from the following files:
ISF::PunchThroughParticle::m_pdf_pca4
std::unique_ptr< PDFcreator > m_pdf_pca4
delta phi angle of punch-through particle momentum
Definition: PunchThroughParticle.h:109
ISF::PunchThroughParticle::m_pdgId
int m_pdgId
distribution parameters for the momentum delta phi
Definition: PunchThroughParticle.h:79
ISF::PunchThroughParticle::m_pdfNumParticles
std::unique_ptr< PDFcreator > m_pdfNumParticles
number of punch-through particles
Definition: PunchThroughParticle.h:104
ISF::PunchThroughParticle::m_doAnti
bool m_doAnti
do also anti-particles?
Definition: PunchThroughParticle.h:83
ISF::PunchThroughParticle::m_corrMinEnergy
double m_corrMinEnergy
below this energy threshold, no particle correlation is computed
Definition: PunchThroughParticle.h:97
ISF::PunchThroughParticle::m_maxNum
int m_maxNum
the maximum number of particles which will be created
Definition: PunchThroughParticle.h:87
ISF::PunchThroughParticle::m_pdf_pca0
std::unique_ptr< PDFcreator > m_pdf_pca0
energy of punch-through particles
Definition: PunchThroughParticle.h:105
ISF::PunchThroughParticle::m_pdf_pca3
std::unique_ptr< PDFcreator > m_pdf_pca3
delta theta angle of punch-through particle momentum
Definition: PunchThroughParticle.h:108
ISF::PunchThroughParticle::m_corrPdg
int m_corrPdg
all following stores the right distributions for all properties of the punch-through particles
Definition: PunchThroughParticle.h:96
ISF::PunchThroughParticle::m_pdf_pca1
std::unique_ptr< PDFcreator > m_pdf_pca1
theta deviation of punch-through particles
Definition: PunchThroughParticle.h:106
ISF::PunchThroughParticle::m_corrHistDomains
double * m_corrHistDomains
correlation histogram domains
Definition: PunchThroughParticle.h:103
ISF::PunchThroughParticle::m_momAngleFactor
double m_momAngleFactor
scale the momentum deviation
Definition: PunchThroughParticle.h:93
ISF::PunchThroughParticle::m_numParticlesFactor
double m_numParticlesFactor
some tuning-parameters which will be set via python
Definition: PunchThroughParticle.h:90
ISF::PunchThroughParticle::m_histCorrHighE
TH2F * m_histCorrHighE
high energy correlation histogram (x:this particle, y:the correlated particle)
Definition: PunchThroughParticle.h:102
ISF::PunchThroughParticle::m_energyFactor
double m_energyFactor
scale the energy of this particle type
Definition: PunchThroughParticle.h:91
ISF::PunchThroughParticle::m_corrFullEnergy
double m_corrFullEnergy
holds the energy threshold above which a particle correlation is fully developed
Definition: PunchThroughParticle.h:98
ISF::PunchThroughParticle::m_posAngleFactor
double m_posAngleFactor
scale the position deflection angles
Definition: PunchThroughParticle.h:92
ISF::PunchThroughParticle::m_histCorrLowE
TH2F * m_histCorrLowE
low energy correlation histogram (x:this particle, y:the correlated particle)
Definition: PunchThroughParticle.h:101
PowhegPythia8EvtGen_jetjet.pdf
pdf
Definition: PowhegPythia8EvtGen_jetjet.py:4
ISF::PunchThroughParticle::m_pdf_pca2
std::unique_ptr< PDFcreator > m_pdf_pca2
phi deviation of punch-through particles
Definition: PunchThroughParticle.h:107
ISF::PunchThroughParticle::m_minEnergy
double m_minEnergy
some cut-parameters which will be set via python
Definition: PunchThroughParticle.h:86