ATLAS Offline Software
Loading...
Searching...
No Matches
CaloHadDMCoeff.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CALOCONDITIONS_CALOHADDMCOEFF_H
6#define CALOCONDITIONS_CALOHADDMCOEFF_H
7
17
19#include <vector>
20#include <string>
21#include <cstdio>
22
24 public:
25 struct HadDMArea {
26 std::string m_title;
27 int m_indx;
29 float m_MinFrac;
30 float m_MaxFrac;
31 std::vector<float> m_FracBins;
32 float m_MinEner;
33 float m_MaxEner;
34 std::vector<float> m_EnerBins;
35 float m_MinEta;
36 float m_MaxEta;
37 std::vector<float> m_EtaBins;
40 HadDMArea() : m_indx(0), m_is_on(0), m_MinFrac(0.0), m_MaxFrac(0.0),
41 m_MinEner(0.0), m_MaxEner(0.0), m_MinEta(0.0), m_MaxEta(0.0),
42 m_nPars(0), m_offset(0) {};
43 };
44 typedef std::vector<float> HadDMCoeff;
45
50
51 const HadDMCoeff * getHadDMCoeff(const int & dm_area, const float & cls_emfrac, const float & cls_ener, const float & cls_eta) const;
52 inline const HadDMCoeff * getHadDMCoeff(const int & iBin) const
53 {
54 if ( iBin > -1 && iBin < (int)m_DMCoeffSet.size() ) {
55 return (& m_DMCoeffSet[iBin]);
56 }else{
57 return 0;
58 }
59 }
60
61 const HadDMArea * getHadDMArea(int n_area) const;
62 void addHadDMCoeff(const HadDMCoeff & theData);
63 void setHadDMCoeff(const int iBin, const HadDMCoeff & theData);
64 void addHadDMArea(const HadDMArea & theArea);
65 void setHadDMArea(const int n_area, const HadDMArea & theArea);
66 void PrintData(FILE *fout = stdout) const;
67
68 inline int getSizeDMAreaSet() const {return (int)m_DMAreaSet.size();}
69 inline int getSizeDMCoeffSet() const {return (int)m_DMCoeffSet.size();}
70 int getBinFrac(const int dm_area, const float & cls_frac) const;
71 int getBinEner(const int dm_area, const float & cls_ener) const;
72 int getBinEta(const int dm_area, const float & cls_eta) const;
73 int getBin(const int & n_dm_area, const float & cls_frac, const float & cls_ener, const float & cls_eta) const;
74 int getBin(const int & n_dm_area, const int & ifrac, const int & iener, const int & ieta) const;
75
76 private:
77 std::vector<HadDMCoeff> m_DMCoeffSet;
78 std::vector<HadDMArea> m_DMAreaSet;
79};
80//Class Identifier obtained by
81//'clid CaloHadDMCoeff'
82CLASS_DEF(CaloHadDMCoeff,227697804,1)
83
84#endif
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
int getBinEner(const int dm_area, const float &cls_ener) const
void addHadDMCoeff(const HadDMCoeff &theData)
const HadDMCoeff * getHadDMCoeff(const int &iBin) const
int getSizeDMCoeffSet() const
CaloHadDMCoeff(const CaloHadDMCoeff &other)
std::vector< HadDMCoeff > m_DMCoeffSet
CaloHadDMCoeff()
Default Constructor.
int getBinFrac(const int dm_area, const float &cls_frac) const
const HadDMCoeff * getHadDMCoeff(const int &dm_area, const float &cls_emfrac, const float &cls_ener, const float &cls_eta) const
void setHadDMCoeff(const int iBin, const HadDMCoeff &theData)
void setHadDMArea(const int n_area, const HadDMArea &theArea)
CaloHadDMCoeff & operator=(const CaloHadDMCoeff &other)
void PrintData(FILE *fout=stdout) const
int getBinEta(const int dm_area, const float &cls_eta) const
void addHadDMArea(const HadDMArea &theArea)
std::vector< HadDMArea > m_DMAreaSet
int getSizeDMAreaSet() const
int getBin(const int &n_dm_area, const float &cls_frac, const float &cls_ener, const float &cls_eta) const
const HadDMArea * getHadDMArea(int n_area) const
std::vector< float > HadDMCoeff
static TFile * fout
Definition listroot.cxx:40
std::vector< float > m_FracBins
std::vector< float > m_EnerBins
std::vector< float > m_EtaBins