Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
PunchThroughPDFCreator.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // PunchThroughPDFCreator.h, (c) ATLAS Detector software
8 
9 #ifndef G4ATLASTOOLS_PUNCHTHROUGHPDFCREATOR_H
10 #define G4ATLASTOOLS_PUNCHTHROUGHPDFCREATOR_H
11 
12 // Athena Base
14 
15 // C++
16 #include <map>
17 #include <vector>
18 #include <string>
19 
20 class TH1;
21 namespace CLHEP{
22  class HepRandomEngine;
23 }
24 
33 
35 {
36 
37 public:
40 
42 
44  void setName( const std::string & PDFname ){ m_name = PDFname; }; //get the pdf's name
45  void addToEnergyEtaHist1DMap(int energy, int etaMin, TH1 *hist); //add entry to map linking energy, eta window and histogram
46 
48  double getRand(CLHEP::HepRandomEngine* rndmEngine, const std::vector<int>& inputParameters) const;
49  const std::string &getName() const {return m_name;};
50 
51 private:
52  std::string m_name;
53  std::map< int , std::map< int, TH1*> > m_energy_eta_hists1D;
54 
55 };
56 
57 #endif
plotmaker.hist
hist
Definition: plotmaker.py:148
PunchThroughPDFCreator
Definition: PunchThroughPDFCreator.h:35
PunchThroughPDFCreator::getName
const std::string & getName() const
Definition: PunchThroughPDFCreator.h:49
PunchThroughPDFCreator::setName
void setName(const std::string &PDFname)
all following is used to set up the class
Definition: PunchThroughPDFCreator.h:44
PunchThroughPDFCreator::~PunchThroughPDFCreator
~PunchThroughPDFCreator()
Definition: PunchThroughPDFCreator.cxx:21
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
PunchThroughPDFCreator::m_energy_eta_hists1D
std::map< int, std::map< int, TH1 * > > m_energy_eta_hists1D
map of energies to map of eta ranges to 1D histograms
Definition: PunchThroughPDFCreator.h:53
mc.PDFname
PDFname
Definition: mc.SFGenPy8_MuMu_DD.py:10
IAtRndmGenSvc.h
LArCellBinning.etaMin
etaMin
Definition: LArCellBinning.py:84
PunchThroughPDFCreator::getRand
double getRand(CLHEP::HepRandomEngine *rndmEngine, const std::vector< int > &inputParameters) const
get the random value with this method, by providing the input parameters
Definition: PunchThroughPDFCreator.cxx:44
PunchThroughPDFCreator::addToEnergyEtaHist1DMap
void addToEnergyEtaHist1DMap(int energy, int etaMin, TH1 *hist)
Definition: PunchThroughPDFCreator.cxx:29
PunchThroughPDFCreator::PunchThroughPDFCreator
PunchThroughPDFCreator()
construct the class with a given TF1 and a random engine
Definition: PunchThroughPDFCreator.h:39
PunchThroughPDFCreator::m_name
std::string m_name
Give pdf a name for debug purposes.
Definition: PunchThroughPDFCreator.h:49