ATLAS Offline Software
TimingClass.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LArSamples_TimingClass_H
6 #define LArSamples_TimingClass_H
7 
8 #include "TH1F.h"
9 #include "TF1.h"
10 #include "TMinuit.h"
11 #include <iostream>
12 #include <algorithm>
13 #include <fstream>
14 #include <utility>
15 #include <set>
16 #include "TGraphErrors.h"
17 #include "TGraph.h"
18 #include "TCanvas.h"
19 #include "TLatex.h"
20 
21 #include "LArCafJobs/CaloId.h"
23 
24 namespace LArSamples {
25 
26  class Interface;
27  class AbsShapeErrorGetter;
28 
30  {
31  public:
32 
33  TimingClass( const Interface& interface ) : m_interface( &interface ) { }
34 
35  TimingClass();
36  ~TimingClass();
37 
38  void timePerFebAllFebs(const std::string& nrun, const std::string& name);
39  void fitTimePerFebAllFebs( const std::string& nrun, const std::string& name );
40  void Time( int dete, const std::string& nrun );
41  void PlotFebAverageTime( const std::string& nrun, const std::string& name );
42  void PlotFebAverageTime24( const std::string& nrun, const std::string& name );
43  void MergeFebTime( const std::string& nrun );
44  void getFebCorrection( const std::string& nrun );
45  void PlotFebtime();
46 
47  bool EnergyThreshold( int calo, int layer, int quality, int ft, int slot, double energy, double time );
48  bool FileEmptyCheck( const std::string& fname);
49 
50  double Median[2][32][16]{};
51  double param[4][2][32][16]{};
52  double error[4][2][32][16]{};
53  double getTimeWeightedMedian( std::vector<double> time, const std::vector<double>& time2, const std::vector<double>& weight, double totalW );
54 
55  std::vector< std::vector<double> > readTimingFiles(const std::string& file);
56 
57  private:
58 
59  const Interface* m_interface = nullptr;
60 
61  };
62 }
63 
64 #endif
CaloId.h
PlotCalibFromCool.ft
ft
Definition: PlotCalibFromCool.py:329
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
Interface
LArSamples
Definition: AbsShape.h:24
AbsShapeErrorGetter
Liquid Argon base class for shape information.
AthExHiveOpts.Time
Time
Definition: AthExHiveOpts.py:63
LArSamples::TimingClass
Definition: TimingClass.h:30
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:200
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
file
TFile * file
Definition: tile_monitor.h:29
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArSamples::TimingClass::TimingClass
TimingClass(const Interface &interface)
Definition: TimingClass.h:33
python.AthDsoLogger.fname
string fname
Definition: AthDsoLogger.py:67
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
LArSamples::Interface
Definition: Interface.h:36
checker_macros.h
Define macros for attributes used to control the static checker.
error
Definition: IImpactPoint3dEstimator.h:70