ATLAS Offline Software
Loading...
Searching...
No Matches
TreeShapeErrorGetter.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 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);
36 TreeShapeErrorGetter& operator = (const TreeShapeErrorGetter &) = delete;
37 virtual ~TreeShapeErrorGetter();
38
39 virtual std::unique_ptr<ShapeErrorData> shapeErrorData(unsigned int hash, CaloGain::CaloGain gain, const Residual* toExclude = 0) const override;
40 virtual std::unique_ptr<ShapeErrorData> phiSymShapeErrorData(short ring, CaloGain::CaloGain gain, const Residual* toExclude = 0) const override;
41
42 int addCell(const ResidualCalculator& calc, CaloGain::CaloGain gain);
43 int addRing(const ResidualCalculator& calc, CaloGain::CaloGain gain);
44
45 void dump(CaloGain::CaloGain gain) const;
46 std::unique_ptr<TH2D> correlate(const TreeShapeErrorGetter& other, CaloGain::CaloGain gain, unsigned short sample, bool xip,
47 unsigned int nBins, double xMin, double xMax) const;
48
49 bool compare(const TreeShapeErrorGetter& other, const TString& fileName, const Interface* tmpl = 0) const;
50
51
52 const ResidualCalculator* cellCalc() const { return m_cellCalc; }
53 const ResidualCalculator* ringCalc() const { return m_ringCalc; }
54
55 TTree* cellTree(CaloGain::CaloGain gain) const;
56 TTree* ringTree(CaloGain::CaloGain gain) const;
57
58 static bool merge(const TString& listFile, const TString& outputFile);
59 static bool merge(std::vector<std::unique_ptr<const TreeShapeErrorGetter> >&& getters, const TString& outputFile);
60
61 TFile* file() const { return m_file.get(); }
62
63 private:
64
65 std::unique_ptr<TFile> m_file;
66 std::vector<TTree*> m_cellTrees;
67 std::vector<TTree*> m_ringTrees;
69 };
70}
71#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
TreeShapeErrorGetter(const TreeShapeErrorGetter &)=delete
int addCell(const ResidualCalculator &calc, CaloGain::CaloGain gain)
TreeShapeErrorGetter(const TString &fileName, bool recreate=false)
std::unique_ptr< TH2D > correlate(const TreeShapeErrorGetter &other, CaloGain::CaloGain gain, unsigned short sample, bool xip, unsigned int nBins, double xMin, double xMax) const
virtual std::unique_ptr< ShapeErrorData > phiSymShapeErrorData(short ring, CaloGain::CaloGain gain, const Residual *toExclude=0) const override
bool compare(const TreeShapeErrorGetter &other, const TString &fileName, const Interface *tmpl=0) const
const ResidualCalculator * ringCalc() const
virtual std::unique_ptr< ShapeErrorData > shapeErrorData(unsigned int hash, CaloGain::CaloGain gain, const Residual *toExclude=0) const override
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