PandaTree
Run.h
1 #ifndef PandaTree_Objects_Run_h
2 #define PandaTree_Objects_Run_h
3 #include "../../Framework/interface/TreeEntry.h"
4 #include "Constants.h"
5 #include "TList.h"
6 
7 namespace panda {
8 
9  class Run : public TreeEntry {
10  public:
11  Run();
12  Run(Run const&);
13  ~Run();
14  Run& operator=(Run const&);
15 
16  void print(std::ostream& = std::cout, UInt_t level = 1) const override;
17  void dump(std::ostream& = std::cout) const override;
18 
19  UInt_t runNumber{};
20  UInt_t hltMenu{};
21  UShort_t hltSize{};
22 
23  static utils::BranchList getListOfBranches(Bool_t direct = kFALSE);
24 
25  protected:
26  void doSetStatus_(TTree&, utils::BranchList const&) override;
27  utils::BranchList doGetStatus_(TTree&) const override;
28  utils::BranchList doGetBranchNames_() const override;
29  void doSetAddress_(TTree&, utils::BranchList const&, Bool_t setStatus) override;
30  void doBook_(TTree&, utils::BranchList const&) override;
31  void doGetEntry_(TTree&) override;
32  void doInit_() override;
33  void doUnlink_(TTree&) override;
34 
35  public:
36  /* BEGIN CUSTOM Run.h.classdef */
37 
39  void setLoadTrigger(Bool_t l = kTRUE);
40 
42  Bool_t getLoadTrigger() const { return loadTrigger_; }
43 
45  UInt_t registerTrigger(char const* path);
46 
48 
51  char const* getRegisteredPath(UInt_t token) const;
52 
54  UInt_t getTriggerIndex(UInt_t token) const;
55 
57 
60  char const* triggerMenu() const;
61 
63 
66  std::vector<TString> const& triggerPaths() const;
67 
69 
72  UInt_t triggerSize() const { return triggerPaths().size(); }
73 
75  bool findEntry(TTree& runTree, UInt_t runNumber);
76 
78  void resetCache();
79 
80  struct HLTTreeEntry {
81  ~HLTTreeEntry() { destroy(); }
82  void create() {
83  menu = new TString;
84  paths = new std::vector<TString>;
85  filters = new std::vector<TString>;
86  }
87  void destroy() {
88  delete menu;
89  delete paths;
90  delete filters;
91  menu = 0;
92  paths = 0;
93  filters = 0;
94  }
95 
97  TString* menu{0};
99  std::vector<TString>* paths{0};
101  std::vector<TString>* filters{0};
102  } hlt;
103 
104  private:
105 
107  void updateTriggerTable_(TTree& _tree);
108 
110  Bool_t loadTrigger_{kFALSE};
111 
113  std::vector<TString> registeredTriggers_{};
114 
116  std::vector<UInt_t> triggerIndices_{};
117 
119  TTree* inputTree_{0};
120 
122  Int_t inputTreeNumber_{-1};
123 
125  UInt_t hltMenuCache_{0xffffffff};
126 
127  /* END CUSTOM */
128  };
129 
130  /* BEGIN CUSTOM Run.h.global */
131  /* END CUSTOM */
132 
133 }
134 
135 #endif
Bool_t getLoadTrigger() const
Get the trigger loading switch.
Definition: Run.h:42
UInt_t getTriggerIndex(UInt_t token) const
Get the trigger index for the given token.
Definition: Run.cc:221
bool findEntry(TTree &runTree, UInt_t runNumber)
Check for updates.
Definition: Run.cc:254
void setStatus(TTree &, utils::BranchList const &blist) final
Set status of branches to true (matching branch) or false (vetoed branch)
Definition: TreeEntry.cc:5
void resetCache()
Reset inputTree_, inputTreeNumber_, and hltMenuCache_.
Definition: Run.cc:280
UShort_t hltSize
transient
Definition: Run.h:21
List of branch names.
Definition: IOUtils.h:64
TString * menu
Current menu name.
Definition: Run.h:97
void print(std::ostream &=std::cout, UInt_t level=1) const override
Print the object content.
Definition: Run.cc:72
UInt_t registerTrigger(char const *path)
See description on Event::registerTrigger.
Definition: Run.cc:188
void setLoadTrigger(Bool_t l=kTRUE)
Set the trigger loading switch.
Definition: Run.cc:178
char const * triggerMenu() const
Current trigger menu name.
Definition: Run.cc:236
char const * getRegisteredPath(UInt_t token) const
Get the registered path name for the token.
Definition: Run.cc:210
std::vector< TString > const & triggerPaths() const
Get the full trigger path list.
Definition: Run.cc:245
std::vector< TString > * paths
Current full menu.
Definition: Run.h:99
std::vector< TString > * filters
Current list of filters.
Definition: Run.h:101
Definition: Run.h:9
Base class for objects representing one full entry of a tree (e.g. Event).
Definition: TreeEntry.h:19
Definition: Array.h:11
UInt_t triggerSize() const
Size of current trigger menu.
Definition: Run.h:72
void dump(std::ostream &=std::cout) const override
Dump the object content.
Definition: Run.cc:80
Definition: Run.h:80