ATLAS Offline Software
MultiTreeAccessor.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_MultiTreeAccessor_H
11 #define LArSamples_MultiTreeAccessor_H
12 
13 #include "LArSamplesMon/Accessor.h"
14 #include "LArCafJobs/CellInfo.h"
15 #include "LArSamplesMon/History.h"
17 #include "TString.h"
18 #include <vector>
19 
20 namespace LArSamples {
21 
22  class Data;
23  class FilterParams;
24  class DataTweaker;
25  class TreeAccessor;
26 
28 
29  public:
30 
32  MultiTreeAccessor(const std::vector<const TreeAccessor*>& accessors)
33  : m_accessors(accessors) { }
34 
35  static MultiTreeAccessor* open(const std::vector<TString>& files);
36  static MultiTreeAccessor* openList(const TString& fileList);
37  static MultiTreeAccessor* openWild(const TString& wcName);
38 
39  virtual ~MultiTreeAccessor();
40 
41  unsigned int nEvents() const;
42  unsigned int nRuns() const;
43 
44  const EventData* eventData(unsigned int i) const;
45  const RunData* runData(unsigned int i) const;
46 
47  unsigned int historySize(unsigned int i) const;
48 
49  bool writeToFile(const TString& fileName) const;
50 
51  const TreeAccessor& accessor(unsigned int i) const { return *m_accessors[i]; }
52  unsigned int nAccessors() const { return m_accessors.size(); }
53 
54  std::vector<MultiTreeAccessor*> filterComponents(const FilterList& filterList, const DataTweaker& tweaker) const;
55 
56  protected:
57 
58  const History* getCellHistory(unsigned int i) const;
59  const CellInfo* getCellInfo(unsigned int i) const;
60 
61  private:
62 
63  std::vector<const TreeAccessor*> m_accessors;
64  };
65 }
66 
67 #endif
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
Data
@ Data
Definition: BaseObject.h:11
LArSamples::Accessor
A base class for accessing ntuple data.
Definition: LArCalorimeter/LArSamplesMon/LArSamplesMon/Accessor.h:24
LArSamples::History
Definition: History.h:40
CscCalibQuery.fileList
fileList
Definition: CscCalibQuery.py:330
LArSamples::MultiTreeAccessor::nAccessors
unsigned int nAccessors() const
Definition: MultiTreeAccessor.h:52
LArSamples
Definition: AbsShape.h:24
LArSamples::RunData
Definition: RunData.h:21
systematicsTool.writeToFile
def writeToFile(histDict, fOut)
Definition: systematicsTool.py:1035
FortranAlgorithmOptions.fileName
fileName
Definition: FortranAlgorithmOptions.py:13
lumiFormat.i
int i
Definition: lumiFormat.py:92
generateReferenceFile.files
files
Definition: generateReferenceFile.py:12
LArSamples::MultiTreeAccessor::MultiTreeAccessor
MultiTreeAccessor(const std::vector< const TreeAccessor * > &accessors)
Constructor
Definition: MultiTreeAccessor.h:32
nEvents
int nEvents
Definition: fbtTestBasics.cxx:77
LArSamples::DataTweaker
Definition: DataTweaker.h:23
Accessor.h
FilterList.h
LArSamples::FilterList
Definition: FilterList.h:21
LArSamples::MultiTreeAccessor
Definition: MultiTreeAccessor.h:27
LArSamples::CellInfo
Definition: CellInfo.h:31
Trk::open
@ open
Definition: BinningType.h:40
LArSamples::MultiTreeAccessor::accessor
const TreeAccessor & accessor(unsigned int i) const
Definition: MultiTreeAccessor.h:51
xAODRootTest.accessors
dictionary accessors
Definition: xAODRootTest.py:67
History.h
LArSamples::TreeAccessor
Definition: TreeAccessor.h:32
LArSamples::EventData
Definition: LArCalorimeter/LArCafJobs/LArCafJobs/EventData.h:29
CellInfo.h
python.ComponentAccumulator.filterComponents
def filterComponents(comps, onlyComponents=[])
Definition: ComponentAccumulator.py:79
LArSamples::MultiTreeAccessor::m_accessors
std::vector< const TreeAccessor * > m_accessors
Definition: MultiTreeAccessor.h:63