ATLAS Offline Software
Loading...
Searching...
No Matches
MultiTreeAccessor.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_MultiTreeAccessor_H
11#define LArSamples_MultiTreeAccessor_H
12
14#include "LArCafJobs/CellInfo.h"
17#include "TString.h"
18#include <vector>
19
20namespace LArSamples {
21
22 class Data;
23 class FilterParams;
24 class DataTweaker;
25 class TreeAccessor;
26
28
29 public:
30
32 MultiTreeAccessor(std::vector<std::unique_ptr<const TreeAccessor> >&& accessors);
33
34 static std::unique_ptr<MultiTreeAccessor> open(const std::vector<TString>& files);
35 static std::unique_ptr<MultiTreeAccessor> openList(const TString& fileList);
36 static std::unique_ptr<MultiTreeAccessor> openWild(const TString& wcName);
37
38 virtual ~MultiTreeAccessor();
39
40 virtual unsigned int nEvents() const override;
41 virtual unsigned int nRuns() const override;
42
43 virtual const EventData* eventData(unsigned int i) const override;
44 virtual const RunData* runData(unsigned int i) const override;
45
46 virtual unsigned int historySize(unsigned int i) const override;
47 virtual unsigned int historySizeSC(unsigned int i) const override;
48
49 virtual bool writeToFile(const TString& fileName) const override;
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<std::unique_ptr<MultiTreeAccessor> > filterComponents(const FilterList& filterList, const DataTweaker& tweaker) const;
55
56 protected:
57
58 virtual std::unique_ptr<const History> getCellHistory(unsigned int i) const override;
59 virtual std::unique_ptr<const History> getSCHistory(unsigned int i) const override;
60 virtual std::unique_ptr<const CellInfo> getCellInfo(unsigned int i) const override;
61
62 private:
63
64 std::vector<std::unique_ptr<const TreeAccessor> > m_accessors;
65 };
66}
67
68#endif
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
virtual unsigned int historySizeSC(unsigned int i) const override
MultiTreeAccessor(std::vector< std::unique_ptr< const TreeAccessor > > &&accessors)
Constructor.
unsigned int nAccessors() const
virtual unsigned int nRuns() const override
virtual const EventData * eventData(unsigned int i) const override
virtual const RunData * runData(unsigned int i) const override
const TreeAccessor & accessor(unsigned int i) const
static std::unique_ptr< MultiTreeAccessor > open(const std::vector< TString > &files)
virtual bool writeToFile(const TString &fileName) const override
static std::unique_ptr< MultiTreeAccessor > openList(const TString &fileList)
static std::unique_ptr< MultiTreeAccessor > openWild(const TString &wcName)
std::vector< std::unique_ptr< const TreeAccessor > > m_accessors
virtual unsigned int historySize(unsigned int i) const override
const int nEvents
std::vector< std::string > files
file names and file pointers
Definition hcg.cxx:50