ATLAS Offline Software
PadTriggerValidationTree.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef NSWL1_PADTRIGGERVALIDATIONTREE_H
6 #define NSWL1_PADTRIGGERVALIDATIONTREE_H
7 
8 #include "GaudiKernel/ITHistSvc.h"
9 #include "GeoPrimitives/GeoPrimitives.h" // Amg::Vector3D (cannot fw declare typedef)
12 #include "TTree.h"
13 
15 #include <string>
16 #include <utility> // pair
17 #include <vector>
18 
19 namespace NSWL1 {
20 
21 class PadTrigger;
22 
37 
38  public:
41 
44  bool init_tree(TTree *tree);
45  bool reset_ntuple_variables();
46  bool fill_num_pad_triggers(size_t num) const;
47  bool fill_pad_trigger_basics(const std::vector<std::unique_ptr<PadTrigger>> &triggers) const;
48 
49  private:
50  TTree* m_tree{nullptr};
51  mutable int m_nPadTriggers;
52  std::vector<unsigned int>* m_padTriggerBCID{nullptr};
53  std::vector<int>* m_padTriggerModuleIDinner{nullptr};
54  std::vector<int>* m_padTriggerModuleIDouter{nullptr};
55  std::vector<std::vector<int>>* m_padTriggerSelectedLayersInner{nullptr};
56  std::vector<std::vector<int>>* m_padTriggerSelectedLayersOuter{nullptr};
57  std::vector<std::vector<int>>* m_padTriggerSelectedBandsInner{nullptr};
58  std::vector<std::vector<int>>* m_padTriggerSelectedBandsOuter{nullptr};
59  std::vector<std::vector<int>>* m_padTriggerPadEtaIndicesInner{nullptr};
60  std::vector<std::vector<int>>* m_padTriggerPadPhiIndicesInner{nullptr};
61  std::vector<std::vector<int>>* m_padTriggerPadEtaIndicesOuter{nullptr};
62  std::vector<std::vector<int>>* m_padTriggerPadPhiIndicesOuter{nullptr};
63  std::vector<std::vector<float>>* m_padTriggerRCenterMinInner{nullptr};
64  std::vector<std::vector<float>>* m_padTriggerRCenterMaxInner{nullptr};
65  std::vector<std::vector<float>>* m_padTriggerRCenterMinOuter{nullptr};
66  std::vector<std::vector<float>>* m_padTriggerRCenterMaxOuter{nullptr};
67 
68  std::vector<int>* m_padTriggerSectorID{nullptr};
69  std::vector<int>* m_padTriggerSectorType{nullptr};
70  std::vector<int>* m_padTriggerSideID{nullptr};
71  std::vector<unsigned int>* m_padTriggerBandID{nullptr};
72  std::vector<float>* m_padTriggerEta{nullptr};
73  std::vector<float>* m_padTriggerPhi{nullptr};
74  std::vector<int>* m_padTriggerEtaID{nullptr};
75  std::vector<int>* m_padTriggerPhiID{nullptr};
76  std::vector<int>* m_padTriggerMultipletID{nullptr};
77 
78  std::vector<float>* m_padTriggerEtamin{nullptr};
79  std::vector<float>* m_padTriggerEtamax{nullptr};
80  std::vector<float>* m_padTriggerPhimin{nullptr};
81  std::vector<float>* m_padTriggerPhimax{nullptr};
82 
83  std::vector<std::vector<float>>* m_padTriggerlocalminYInner{nullptr};
84  std::vector<std::vector<float>>* m_padTriggerlocalmaxYInner{nullptr};
85  std::vector<std::vector<float>>* m_padTriggerlocalminYOuter{nullptr};
86  std::vector<std::vector<float>>* m_padTriggerlocalmaxYOuter{nullptr};
87  std::vector<int>* m_padTriggerIndex{nullptr};
88  }; // PadTriggerValidationTree
89 } // NSWL1
90 #endif
TriggerTypes.h
NSWL1::PadTriggerValidationTree
Make TTree to validate the PadTriggerLogicOfflineTool.
Definition: PadTriggerValidationTree.h:36
tree
TChain * tree
Definition: tile_monitor.h:30
python.TrigTLAMonitorAlgorithm.triggers
triggers
Definition: TrigTLAMonitorAlgorithm.py:196
NSWL1::ATLAS_NOT_THREAD_SAFE
StatusCode PadTdsOfflineTool::fill_pad_validation_id ATLAS_NOT_THREAD_SAFE(std::vector< std::vector< std::shared_ptr< PadData >> > &pad_cache) const
Definition: PadTdsOfflineTool.cxx:114
GeoPrimitives.h
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
NSWL1::PadTriggerValidationTree::m_nPadTriggers
int m_nPadTriggers
number of triggers per event
Definition: PadTriggerValidationTree.h:51
PadTrigger.h
checker_macros.h
Define macros for attributes used to control the static checker.
NSWL1
A trigger trigger candidate for a stgc sector.
Definition: NSWL1Simulation.cxx:9