ATLAS Offline Software
Loading...
Searching...
No Matches
LArPhysWaveHECTool.h
Go to the documentation of this file.
1//Dear emacs, this is -*- c++ -*-
2
3/*
4 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5*/
6
7
8#ifndef LARPHYSWAVEHECTOOL_H
9#define LARPHYSWAVEHECTOOL_H
10
12
17
19
20// includes from calib2physHEC.h:
21#include <stdio.h>
22#include <math.h>
23#include <Rtypes.h>
24#include <TSpline.h>
25#include <TF1.h>
26#include <TFile.h>
27#include <TMinuit.h>
28#include <TROOT.h>
29#include <TApplication.h>
30#include <TProfile.h>
31#include <TGraphErrors.h>
32#include <TGraph.h>
33#include <iostream>
34#include <vector>
35
36static const InterfaceID IID_LArPhysWaveHECTool("LArPhysWaveHECTool", 1 , 0);
37
39{
40 public:
41
42 // Retrieve interface ID
43 static const InterfaceID& interfaceID() { return IID_LArPhysWaveHECTool; }
44
45 LArPhysWaveHECTool(const std::string& type, const std::string& name,
46 const IInterface* parent ) ;
47
48 virtual ~LArPhysWaveHECTool();
49
50 virtual StatusCode initialize();
51 virtual StatusCode finalize(){return StatusCode::SUCCESS;}
52
53
54 StatusCode makeLArPhysWaveHEC(LArWFParams& wfParams, LArCaliWave &caliWave,
55 LArPhysWave & predLArPhysWave, const LArPhysWave & LArIdealPhysWave,
56 float & MphysMcali, const HWIdentifier& chid, const int gain,
57 int & LArPhysWaveFlag);
58
59// StatusCode makeLArPhysWaveHEC(const LArWFParams &, const LArCaliWave &,
60// int region, int layer,
61// LArPhysWave & predLArPhysWave,
62// float & MphysMcali, const HWIdentifier& chid,
63// unsigned gain, int & LArPhysWaveFlag);
64
65 //double MphysMcali() const { return m_MphysMcali ; }
66
67 private:
68 static const int DEFAULT ;
69 //LArCaliWave m_gCali;
70 //LArPhysWave m_gPhys;
71 const LArPhysWave* m_gIdealPhys = nullptr;
72
74 // bool m_verb;
75 //int m_region, m_layer ;
77 bool m_isSC;
78
81
82 // std::vector<bool> m_injPointCorrLayer, m_injPointUseTauR ;
83
84 double m_Omega0 = 0.0, m_Taur = 0.0;
85 unsigned m_Tstart = 0U;
86 double m_MinAmp;
87 //void predict_phys_HEC(const HWIdentifier& chid, unsigned gain);
88 void predict_phys_HEC(LArWFParams& wfParams, LArCaliWave &caliWave,
89 LArPhysWave & predLArPhysWave,
90 float & MphysMcali, const HWIdentifier& chid, const int gain);
91
92 TF1* CaliWave2PhysWaveHEC(TProfile *pcal, Double_t *par, double *parCL, TF1 *& deriv,Bool_t uset0, Bool_t norm, int adc, Double_t *xmax ,bool gsl_flag);
93
94 //Double_t DTp(Double_t *tt, Double_t *par);
95 //Double_t Tp(Double_t *tt, Double_t *par);
96 //Double_t Tp_gsl(Double_t *tt, Double_t *par);
97 //Double_t Tp4_gsl(Double_t t);
98 //Double_t Tp5_gsl(Double_t t);
99};
100
101#endif
static const InterfaceID IID_LArPhysWaveHECTool("LArPhysWaveHECTool", 1, 0)
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
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Helper for the Liquid Argon Calorimeter cell identifiers.
TF1 * CaliWave2PhysWaveHEC(TProfile *pcal, Double_t *par, double *parCL, TF1 *&deriv, Bool_t uset0, Bool_t norm, int adc, Double_t *xmax, bool gsl_flag)
LArPhysWaveHECTool(const std::string &type, const std::string &name, const IInterface *parent)
const LArOnlineID_Base * m_onlineHelper
const LArPhysWave * m_gIdealPhys
virtual StatusCode finalize()
void predict_phys_HEC(LArWFParams &wfParams, LArCaliWave &caliWave, LArPhysWave &predLArPhysWave, float &MphysMcali, const HWIdentifier &chid, const int gain)
static const InterfaceID & interfaceID()
static const int DEFAULT
double xmax
Definition listroot.cxx:61
void initialize()