ATLAS Offline Software
Loading...
Searching...
No Matches
CaloHadDMCoeffCheck.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 CALOLOCALHADCALIB_CALOHADDMCOEFFCHECK_H
6#define CALOLOCALHADCALIB_CALOHADDMCOEFFCHECK_H
7
21
22#include <vector>
23#include <string>
24#include <math.h>
29class TProfile;
30class TH2F;
31class TH1F;
32
33
34
35/*
36 * Not thread safe due to ROOT facilities like gStyle
37 * but is used only for validation/plotting
38 * so should be fine
39 */
41 public :
42
45
46 int process(CaloHadDMCoeffData *myData, CaloLocalHadCoeff *myHadDMCoeff, bool isSingleParticle=true, bool tbflag=false);
47 void make_report(std::string &sfname);
48
49 private:
52 sDM_EMB0_EMB1, // 0 before PreSamplerB, between PreSamplerB and EMB1
53 sDM_EMB3_TILE0, // 1 between barrel and tile
54 sDM_SCN, // 2 before TileGap3 (scintillator)
55 sDM_EME0_EME12, // 3 before PreSamplerE, between PreSamplerE and EME1
56 sDM_EME3_HEC0, // 4 between EME3 and HEC0
57 sDM_FCAL, // 5 between HEC and FCAL, before FCAL
58 sDM_LEAKAGE, // 6 leakage behind calorimeter
59 sDM_UNCLASS, // 7 unclassified DM enegry
60 sDM_DMTOT, // 8 sum of DM energy over all zones
62 };
63
64 void getDmReco(std::vector<std::vector<double > > &engDmReco);
65
69
73 float m_etamin;
74 float m_etamax;
75 float m_deta;
77 float m_phimin;
78 float m_phimax;
79 float m_dphi;
85 int m_npdg;
87
88 std::vector<std::vector<std::vector<TH2F *> > > m_h2_etrue_vs_ereco; // [sDM][m_netabin][m_nlogenerbin]
89 std::vector<std::vector<std::vector<TProfile *> > > m_hp_etrue_vs_ereco; // [sDM][m_netabin][m_nlogenerbin]
90 std::vector<std::vector<std::vector<std::vector<TProfile *> > > > m_hp_engRecoOverTruth_vs_eta; //[npdg][sDM][nrecocases][m_nlogenerbin]
91 std::vector<std::vector<std::vector<std::vector<std::vector<TH1F *> > > > > m_engRecSpect; // [npdg][sDM][nrecocases][nenerbin][netabin]
92
93 int GetRmsWithoutTails(const TH1F *h1, float &mean, float &rms, float ths=3.0);
94
95private:
98};
99
100#endif
101
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
CaloHadDMCoeffCheck(const CaloHadDMCoeffCheck &)
CaloLocalHadCoeffHelper * m_HadDMHelper
std::vector< std::vector< std::vector< TH2F * > > > m_h2_etrue_vs_ereco
int GetRmsWithoutTails(const TH1F *h1, float &mean, float &rms, float ths=3.0)
CaloHadDMCoeffData * m_data
std::vector< std::vector< std::vector< std::vector< std::vector< TH1F * > > > > > m_engRecSpect
CaloLocalHadCoeff * m_HadDMCoeff
std::vector< std::vector< std::vector< std::vector< TProfile * > > > > m_hp_engRecoOverTruth_vs_eta
std::vector< std::vector< std::vector< TProfile * > > > m_hp_etrue_vs_ereco
void make_report(std::string &sfname)
Data to read from special DeadMaterialTree.
Hold binned correction data for local hadronic calibration procedure.
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
const std::string process
TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)