ATLAS Offline Software
Loading...
Searching...
No Matches
TreeShapeErrorGetter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
9
10#ifndef LArSamples_TreeShapeErrorGetter_H
11#define LArSamples_TreeShapeErrorGetter_H
12
14
15
16#include <vector>
18
19class TH2D;
20class TFile;
21class TTree;
22class TString;
23
24namespace LArSamples {
25
26 class ShapeErrorData;
27 class ResidualCalculator;
28 class Interface;
29
31
32 public:
33
34 TreeShapeErrorGetter(const TString& fileName, bool recreate = false);
35 virtual ~TreeShapeErrorGetter();
36
37 ShapeErrorData* shapeErrorData(unsigned int hash, CaloGain::CaloGain gain, const Residual* toExclude = 0) const;
38 ShapeErrorData* phiSymShapeErrorData(short ring, CaloGain::CaloGain gain, const Residual* toExclude = 0) const;
39
40 int addCell(const ResidualCalculator& calc, CaloGain::CaloGain gain);
41 int addRing(const ResidualCalculator& calc, CaloGain::CaloGain gain);
42
43 void dump(CaloGain::CaloGain gain) const;
44 TH2D* correlate(const TreeShapeErrorGetter& other, CaloGain::CaloGain gain, unsigned short sample, bool xip,
45 unsigned int nBins, double xMin, double xMax) const;
46
47 bool compare(const TreeShapeErrorGetter& other, const TString& fileName, const Interface* tmpl = 0) const;
48
49 const ResidualCalculator* cellCalc() const { return m_cellCalc; }
50 const ResidualCalculator* ringCalc() const { return m_ringCalc; }
51
52 TTree* cellTree(CaloGain::CaloGain gain) const;
53 TTree* ringTree(CaloGain::CaloGain gain) const;
54
55 static bool merge(const TString& listFile, const TString& outputFile);
56 static bool merge(const std::vector<const TreeShapeErrorGetter*>& getters, const TString& outputFile);
57
58 TFile* file() const { return m_file; }
59
60 private:
61
62 TFile* m_file;
63 std::vector<TTree*> m_cellTrees;
64 std::vector<TTree*> m_ringTrees;
66 };
67}
68#endif
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
the btagging tool(s).
const ResidualCalculator * cellCalc() const
int addCell(const ResidualCalculator &calc, CaloGain::CaloGain gain)
TreeShapeErrorGetter(const TString &fileName, bool recreate=false)
bool compare(const TreeShapeErrorGetter &other, const TString &fileName, const Interface *tmpl=0) const
const ResidualCalculator * ringCalc() const
TH2D * correlate(const TreeShapeErrorGetter &other, CaloGain::CaloGain gain, unsigned short sample, bool xip, unsigned int nBins, double xMin, double xMax) const
ShapeErrorData * shapeErrorData(unsigned int hash, CaloGain::CaloGain gain, const Residual *toExclude=0) const
ShapeErrorData * phiSymShapeErrorData(short ring, CaloGain::CaloGain gain, const Residual *toExclude=0) const
int addRing(const ResidualCalculator &calc, CaloGain::CaloGain gain)
Liquid Argon class for standalone storage of cell shape information.
-event-from-file
Definition merge.py:1