ATLAS Offline Software
History.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
10 #ifndef LArSamples_History_H
11 #define LArSamples_History_H
12 
13 #include "LArCafJobs/Definitions.h"
15 #include "LArCafJobs/CellInfo.h"
16 #include "LArSamplesMon/Chi2Calc.h"
18 #include "LArCafJobs/EventData.h"
19 #include "TH1D.h"
20 #include "TString.h"
21 #include "TArrayI.h"
22 #include "TVectorD.h"
23 #include <vector>
24 //#include <ext/hash_map>
25 
26 //namespace std { using namespace __gnu_cxx; }
27 
28 namespace LArSamples {
29 
30  class Interface;
31  class Data;
32  class Averager;
33  class GraphShape;
34  class AbsShapeErrorGetter;
35  class ShapeErrorData;
36  class ScaledErrorData;
37  class Residual;
38  class Residuals;
39 
41 
42  public:
43 
45  History(const HistoryContainer& container,
46  const std::vector<const EventData*>& eventData, unsigned int hash,
47  const AbsShapeErrorGetter* shapeErrorGetter = 0);
48 
49  History(const std::vector<const Data*>& data, const CellInfo& info, const std::vector<const EventData*>& eventData,
50  unsigned int hash, const AbsShapeErrorGetter* shapeErrorGetter = 0);
51 
52  virtual ~History();
53 
54  HistoryContainer* dissolve();
55 
56  unsigned int nData() const { return m_data.size(); }
57  const Data* data(unsigned int i) const;
58  const Data* data_for_event(int event, int run = -1) const;
59  const Data* data_for_event(const EventData& eventData) const;
60 
61  const CellInfo* cellInfo() const { return &m_cellInfo; }
62 
63  const std::vector<const EventData*>& eventData() const { return m_eventData; }
64 
65  bool sum(SimpleShape*& sum, SimpleShape*& reference) const;
66  bool allShape(GraphShape*& allData, SimpleShape*& allRef) const;
67  double allChi2(Chi2Params pars) const;
68 
69  // helpers
70  double chi2(int i, int lwb = -1, int upb = -1, int chi2Params = DefaultChi2, ShapeErrorType shapeErrorType = BestShapeError, unsigned int* nDof = 0) const;
71  double chi2_k(int i, double k, int lwb = -1, int upb = -1, int chi2Params = DefaultChi2) const;
72  double maxChi2(int lwb = -1, int upb = -1, int chi2Params = DefaultChi2) const;
73 
74  OFC* ofc(unsigned int i, int lwb = -1, int upb = -1, double time = Definitions::none, bool useCorrs = true) const;
75  History* refit(Chi2Params pars = DefaultChi2) const;
76  History* adjust() const;
77  History* filter(const TString& cuts) const;
78 
79  bool refVal(unsigned int i, unsigned int sample, double& val, double& err) const;
80  bool delta(unsigned int i, unsigned int sample, double& del) const;
81  TVectorD deltas(unsigned int i, int lwb = -1, int upb = -1, bool correct = true) const;
82  bool isValid() const;
83 
84  TString description(unsigned int verbosity = 1) const;
85 
86  SimpleShape* referenceShape(unsigned int k, double adcMax = -1, double time = Definitions::none,
87  bool samplesOnly = false) const;
88 
89  SimpleShape* deltaShape(unsigned int k, int lwb = -1, int upb = -1) const;
90 
91  unsigned int hash() const { return m_hash; }
92  void setShapeErrorGetter(const AbsShapeErrorGetter* err) const { m_shapeErrorGetter = err; }
93  const AbsShapeErrorGetter* shapeErrorGetter() const { return m_shapeErrorGetter; }
94  const ShapeErrorData* shapeErrorData(CaloGain::CaloGain gain, ShapeErrorType shapeErrorType = BestShapeError, const Residual* res = 0) const;
95  const ScaledErrorData* scaledErrorData(unsigned int i, double adcMax = -1, double time = Definitions::none, ShapeErrorType shapeErrorType = BestShapeError) const;
96 
97  bool residualOffset(unsigned int i, short sample, double& offset, double adcMax = -1, double time = Definitions::none) const;
98  bool residualError(unsigned int i, short sample1, short sample2, double& offset, double adcMax = -1, double time = Definitions::none) const;
99 
100  bool drawWithReference(int i, const TString& atlasTitle = "") const;
101  bool drawSumWithReference() const;
102  bool drawAllWithReference(bool refit = false) const;
103  bool drawResiduals(int k = -1, bool errors = true, bool rescale = true) const;
104 
105  Averager* calculatePedestal(int i) const;
106  Residual* residual(unsigned int k, bool correct = true, bool zeroTime = false) const;
107  Residuals* residuals(CaloGain::CaloGain gain = CaloGain::LARNGAIN, double absResTrunc = -1, bool correct = true, bool zeroTime = false) const;
108 
109  double upstreamEnergy(unsigned int k) const;
110  double chi2Anomaly(double chi2Cut, unsigned int nDof = 3) const;
111 
112  void setInterface(const Interface* interface) const { m_interface = interface; }
113 
114  private:
115 
116  std::vector<const Data*> m_data;
118  std::vector<const EventData*> m_eventData;
119  unsigned int m_hash;
121  mutable const Interface* m_interface = nullptr;
122  //mutable std::hash_map<int, std::pair<int, const Data*> > m_dataForEvent;
123  };
124 }
125 #endif
grepfile.info
info
Definition: grepfile.py:38
make_hlt_rep.pars
pars
Definition: make_hlt_rep.py:90
data
char data[hepevt_bytes_allocation_ATLAS]
Definition: HepEvt.cxx:11
LArSamples::History::m_eventData
std::vector< const EventData * > m_eventData
Definition: History.h:118
Chi2Calc.h
WriteBchToCool.adjust
adjust
Definition: WriteBchToCool.py:73
LArSamples::History::hash
unsigned int hash() const
Definition: History.h:91
LArSamples::History::m_shapeErrorGetter
const AbsShapeErrorGetter * m_shapeErrorGetter
Definition: History.h:120
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
LArSamples::History::cellInfo
const CellInfo * cellInfo() const
Definition: History.h:61
ClusterSeg::residual
@ residual
Definition: ClusterNtuple.h:20
Data
@ Data
Definition: BaseObject.h:11
m_data
std::vector< T > m_data
Definition: TrackTruthMatchingBaseAlg.cxx:660
LArSamples::History
Definition: History.h:40
LArSamples::History::m_data
std::vector< const Data * > m_data
Definition: History.h:116
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
Interface
LArSamples::SimpleShape
Definition: SimpleShape.h:25
LArSamples
Definition: AbsShape.h:24
ScaledErrorData
Liquid Argon class for standalone storage of cell shape information.
LArSamples::Chi2Params
Chi2Params
Definition: Chi2Calc.h:24
reference
Definition: hcg.cxx:437
LArSamples::Averager
storage of the time histories of all the cells
Definition: Averager.h:23
isValid
bool isValid(const T &p)
Definition: AtlasPID.h:214
yodamerge_tmp.rescale
rescale
Definition: yodamerge_tmp.py:198
FilterParams.h
CaloGain::LARNGAIN
@ LARNGAIN
Definition: CaloGain.h:19
AbsShapeErrorGetter
Liquid Argon base class for shape information.
LArSamples::AbsShapeErrorGetter
Definition: AbsShapeErrorGetter.h:23
LArSamples::ScaledErrorData
Definition: ScaledErrorData.h:17
covarianceTool.filter
filter
Definition: covarianceTool.py:514
LArSamples::History::setInterface
void setInterface(const Interface *interface) const
Definition: History.h:112
convertTimingResiduals.sum
sum
Definition: convertTimingResiduals.py:55
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:100
dqt_zlumi_pandas.err
err
Definition: dqt_zlumi_pandas.py:193
lumiFormat.i
int i
Definition: lumiFormat.py:92
ShapeErrorData
Liquid Argon class for standalone storage of cell shape information.
LArSamples::Definitions::none
static const double none
Definition: Definitions.h:17
Residual
Residual is a class that stores the residual, error, and type of residual.
LArSamples::History::setShapeErrorGetter
void setShapeErrorGetter(const AbsShapeErrorGetter *err) const
Definition: History.h:92
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:522
plotBeamSpotVert.cuts
string cuts
Definition: plotBeamSpotVert.py:93
LArSamples::ShapeErrorType
ShapeErrorType
Definition: Definitions.h:21
LArSamples::BestShapeError
@ BestShapeError
Definition: Definitions.h:25
run
Definition: run.py:1
LArSamples::History::nData
unsigned int nData() const
Definition: History.h:56
EventData.h
LArSamples::Residual
storage of a pulse shape residual set
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/Residual.h:29
Definitions.h
LArSamples::History::History
History(const HistoryContainer &container, const std::vector< const EventData * > &eventData, unsigned int hash, const AbsShapeErrorGetter *shapeErrorGetter=0)
Constructor
LArSamples::OFC
Definition: OFC.h:27
LArSamples::Residuals
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/Residual.h:72
mergePhysValFiles.errors
list errors
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:43
HistoryContainer.h
LArSamples::Data
Definition: Data.h:77
covarianceTool.verbosity
verbosity
Definition: covarianceTool.py:513
LArSamples::CellInfo
Definition: CellInfo.h:31
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
LArSamples::History::m_cellInfo
CellInfo m_cellInfo
Definition: History.h:117
LArSamples::History::shapeErrorGetter
const AbsShapeErrorGetter * shapeErrorGetter() const
Definition: History.h:93
LArSamples::DefaultChi2
@ DefaultChi2
Definition: Chi2Calc.h:24
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
LArSamples::HistoryContainer
Definition: HistoryContainer.h:29
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
LArSamples::GraphShape
Definition: GraphShape.h:32
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
LArSamples::Interface
Definition: Interface.h:36
LArSamples::History::m_hash
unsigned int m_hash
Definition: History.h:119
LArSamples::ShapeErrorData
Definition: ShapeErrorData.h:19
LArSamples::History::eventData
const std::vector< const EventData * > & eventData() const
Definition: History.h:63
ReadOfcFromCool.ofc
ofc
Definition: ReadOfcFromCool.py:110
LArSamples::EventData
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:29
CellInfo.h
fitman.k
k
Definition: fitman.py:528
description
std::string description
glabal timer - how long have I taken so far?
Definition: hcg.cxx:88