ATLAS Offline Software
Loading...
Searching...
No Matches
CaloHadDMCoeffMinim.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CALOLOCALHADCALIB_CALOHADDMCOEFFMINIM_H
6#define CALOLOCALHADCALIB_CALOHADDMCOEFFMINIM_H
7
17
18#include <vector>
19#include <string>
20#include <map>
21
22#include <TROOT.h>
23#include "CaloGeoHelpers/CaloSampling.h"
25
29
30
32 public :
33
34 // to handle minuit parameters and fit results
35 class MinimPar {
36 public:
37 std::string name;
38 bool fixIt;
39 double initVal;
40 double initErr;
41 double lowerLim;
42 double upperLim;
43 double value;
44 double error;
45 MinimPar(const std::string& the_name, double the_initVal, double the_initErr,
46 double the_lowerLim, double the_upperLim)
47 : name(the_name),
48 fixIt(true),
49 initVal(the_initVal),
50 initErr(the_initErr),
51 lowerLim(the_lowerLim),
52 upperLim(the_upperLim),
53 value(0.0),
54 error(0.0)
55 { }
56 };
57
58 // data is used for minimization
60 public:
61 std::vector<float > clsm_smp_energy_unw;
62 int ibin;
63 double edmtrue;
64 double weight;
65 double sigma2;
66 };
67
70
71 CaloLocalHadCoeff * process(CaloHadDMCoeffData *myData, CaloLocalHadCoeff *myHadDMCoeff , bool isSingleParticle=true, bool tbflag=false);
72 void make_report(std::string &sfname);
73 void SetNormalizationType(std::string &stype) {m_NormalizationType = stype;}
74
75 std::vector<std::string> m_validNames;
76 private:
77 void fcn(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag);
78 static void fcnWrapper(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag)
79 {
80 s_instance->fcn(npar, gin, f, par, iflag);
81 }
82
85 std::unique_ptr<CaloLocalHadCoeffHelper> m_HadDMHelper;
87
91 std::vector<MinimPar > m_minimPars;
92 std::map<int, std::vector<MinimPar > > m_minimResults;
93 std::vector<std::unique_ptr<MinimSample> > m_minimSample;
94 std::vector<MinimSample *> m_minimSubSample;
95 std::vector<int > m_sample_size;
100
103
106};
107
108#endif
109
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
Data to read from special DeadMaterialTree.
MinimPar(const std::string &the_name, double the_initVal, double the_initErr, double the_lowerLim, double the_upperLim)
std::map< int, std::vector< MinimPar > > m_minimResults
void fcn(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag)
CaloHadDMCoeffData * m_data
std::unique_ptr< CaloLocalHadCoeffHelper > m_HadDMHelper
static CaloHadDMCoeffMinim * s_instance
CaloLocalHadCoeff * m_HadDMCoeff
std::vector< std::unique_ptr< MinimSample > > m_minimSample
CaloHadDMCoeffMinim(const CaloHadDMCoeffMinim &)
std::vector< std::string > m_validNames
void SetNormalizationType(std::string &stype)
static void fcnWrapper(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag)
std::vector< int > m_sample_size
std::vector< MinimSample * > m_minimSubSample
void make_report(std::string &sfname)
std::vector< MinimPar > m_minimPars
Hold binned correction data for local hadronic calibration procedure.
const std::string process