ATLAS Offline Software
TreeShapeErrorGetter.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_TreeShapeErrorGetter_H
11 #define LArSamples_TreeShapeErrorGetter_H
12 
14 
15 #include "TFile.h"
16 #include "TTree.h"
17 #include "TString.h"
18 #include "TVectorD.h"
19 #include "LArCafJobs/Definitions.h"
20 #include <vector>
22 
23 class TH2D;
24 
25 namespace LArSamples {
26 
27  class ShapeErrorData;
28  class ResidualCalculator;
29  class Interface;
30 
32 
33  public:
34 
35  TreeShapeErrorGetter(const TString& fileName, bool recreate = false);
36  virtual ~TreeShapeErrorGetter();
37 
38  ShapeErrorData* shapeErrorData(unsigned int hash, CaloGain::CaloGain gain, const Residual* toExclude = 0) const;
39  ShapeErrorData* phiSymShapeErrorData(short ring, CaloGain::CaloGain gain, const Residual* toExclude = 0) const;
40 
41  int addCell(const ResidualCalculator& calc, CaloGain::CaloGain gain);
42  int addRing(const ResidualCalculator& calc, CaloGain::CaloGain gain);
43 
44  void dump(CaloGain::CaloGain gain) const;
45  TH2D* correlate(const TreeShapeErrorGetter& other, CaloGain::CaloGain gain, unsigned short sample, bool xip,
46  unsigned int nBins, double xMin, double xMax) const;
47 
48  bool compare(const TreeShapeErrorGetter& other, const TString& fileName, const Interface* tmpl = 0) const;
49 
50  const ResidualCalculator* cellCalc() const { return m_cellCalc; }
51  const ResidualCalculator* ringCalc() const { return m_ringCalc; }
52 
53  TTree* cellTree(CaloGain::CaloGain gain) const;
54  TTree* ringTree(CaloGain::CaloGain gain) const;
55 
56  static bool merge(const TString& listFile, const TString& outputFile);
57  static bool merge(const std::vector<const TreeShapeErrorGetter*>& getters, const TString& outputFile);
58 
59  TFile* file() const { return m_file; }
60 
61  private:
62 
63  TFile* m_file;
64  std::vector<TTree*> m_cellTrees;
65  std::vector<TTree*> m_ringTrees;
66  mutable ResidualCalculator* m_cellCalc, *m_ringCalc;
67  };
68 }
69 #endif
LArSamples::TreeShapeErrorGetter::m_ringTrees
std::vector< TTree * > m_ringTrees
Definition: TreeShapeErrorGetter.h:65
Amg::compare
std::pair< int, int > compare(const AmgSymMatrix(N) &m1, const AmgSymMatrix(N) &m2, double precision=1e-9, bool relative=false)
compare two matrices, returns the indices of the first element that fails the condition,...
Definition: EventPrimitivesHelpers.h:109
AbsShapeErrorGetter.h
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
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
Interface
LArSamples::TreeShapeErrorGetter::m_file
TFile * m_file
Definition: TreeShapeErrorGetter.h:63
LArSamples
Definition: AbsShape.h:24
LArSamples::ResidualCalculator
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/Residual.h:101
LArSamples::AbsShapeErrorGetter
Definition: AbsShapeErrorGetter.h:23
run_Egamma1_LArStrip_Fex.dump
dump
Definition: run_Egamma1_LArStrip_Fex.py:88
m_file
std::unique_ptr< TFile > m_file
description: this is a custom writer for the old-school drivers that don't use an actual writer
Definition: OutputStreamData.cxx:52
LArSamples::TreeShapeErrorGetter::cellCalc
const ResidualCalculator * cellCalc() const
Definition: TreeShapeErrorGetter.h:50
compareGeometries.outputFile
string outputFile
Definition: compareGeometries.py:25
FortranAlgorithmOptions.fileName
fileName
Definition: FortranAlgorithmOptions.py:13
FullCPAlgorithmsTest_eljob.sample
sample
Definition: FullCPAlgorithmsTest_eljob.py:103
ShapeErrorData
Liquid Argon class for standalone storage of cell shape information.
LArSamples::TreeShapeErrorGetter::m_ringCalc
ResidualCalculator * m_ringCalc
Definition: TreeShapeErrorGetter.h:66
TH2D
Definition: rootspy.cxx:430
LArSamples::Residual
storage of a pulse shape residual set
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/Residual.h:29
Definitions.h
dumpTgcDigiJitter.nBins
list nBins
Definition: dumpTgcDigiJitter.py:29
LArSamples::TreeShapeErrorGetter::file
TFile * file() const
Definition: TreeShapeErrorGetter.h:59
LArSamples::TreeShapeErrorGetter
Definition: TreeShapeErrorGetter.h:31
LArSamples::TreeShapeErrorGetter::m_cellTrees
std::vector< TTree * > m_cellTrees
Definition: TreeShapeErrorGetter.h:64
CaloGain::CaloGain
CaloGain
Definition: CaloGain.h:11
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
CaloCondBlobAlgs_fillNoiseFromASCII.hash
dictionary hash
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:109
python.utility.LHE.merge
def merge(input_file_pattern, output_file)
Merge many input LHE files into a single output file.
Definition: LHE.py:29
LArSamples::Interface
Definition: Interface.h:36
LArSamples::ShapeErrorData
Definition: ShapeErrorData.h:19
checker_macros.h
Define macros for attributes used to control the static checker.
beamspotnt.calc
calc
Definition: bin/beamspotnt.py:1252
LArSamples::TreeShapeErrorGetter::ringCalc
const ResidualCalculator * ringCalc() const
Definition: TreeShapeErrorGetter.h:51