ATLAS Offline Software
Loading...
Searching...
No Matches
TFCSEnergyBinParametrization.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISF_FASTCALOSIMEVENT_TFCSEnergyBinParametrization_h
6#define ISF_FASTCALOSIMEVENT_TFCSEnergyBinParametrization_h
7
9#include "TFile.h"
10#include <map>
11#include <vector>
12
14public:
15 TFCSEnergyBinParametrization(const char *name = nullptr,
16 const char *title = nullptr);
17
18 virtual void set_pdgid(int id) override;
19 virtual void set_pdgid(const std::set<int> &ids) override;
20 virtual void add_pdgid(int id) override;
21 virtual void clear_pdgid() override;
22
23 virtual int n_bins() const override { return m_number_of_Ekin_bins; };
24
27 void set_number_of_Ekin_bins(int n_Ekin_bin) {
28 m_number_of_Ekin_bins = n_Ekin_bin;
29 resize();
30 };
31
39 virtual void set_pdgid_Ekin_bin_probability(int id, std::vector<float> prob);
40 virtual bool
42 std::string prob_object_name);
43
44 virtual FCSReturnCode
45 simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth,
46 const TFCSExtrapolationState *extrapol) const override;
47
48 virtual bool is_match_Ekin_bin(int Ekin_bin) const override;
49
50 void Print(Option_t *option = "") const override;
51
52private:
54 std::map<int, std::vector<float>> m_pdgid_Ebin_probability;
55
56 void resize();
57
58 ClassDefOverride(TFCSEnergyBinParametrization,
59 1) // TFCSEnergyBinParametrization
60};
61
62#endif
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
virtual void set_pdgid(int id) override
void set_number_of_Ekin_bins(int n_Ekin_bin)
current convention is to start Ekin_bin counting at 1, to be updated to start counting with 0
virtual void set_pdgid_Ekin_bin_probability(int id, std::vector< float > prob)
set_pdgid_Ekin_bin_probability(): format of probability should be a vector of float with probability ...
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
Method in all derived classes to do some simulation.
TFCSEnergyBinParametrization(const char *name=nullptr, const char *title=nullptr)
virtual int n_bins() const override
virtual bool load_pdgid_Ekin_bin_probability_from_file(int id, TFile *file, std::string prob_object_name)
virtual bool is_match_Ekin_bin(int Ekin_bin) const override
virtual void add_pdgid(int id) override
std::map< int, std::vector< float > > m_pdgid_Ebin_probability
void Print(Option_t *option="") const override
TFCSEnergyParametrization(const char *name=nullptr, const char *title=nullptr)
TFile * file