ATLAS Offline Software
Loading...
Searching...
No Matches
FPGATrackSimRawNtupleWrapperAlg.h
Go to the documentation of this file.
1#ifndef FPGATrackSim_RAWNTUPLEWRAPPERALG_H
2#define FPGATrackSim_RAWNTUPLEWRAPPERALG_H
3
4
6#include "GaudiKernel/ToolHandle.h"
9
10class TFile;
11class TTree;
13class FPGATrackSimHit;
15
17
18public:
19 FPGATrackSimRawNtupleWrapperAlg (const std::string& name, ISvcLocator* pSvcLocator);
21 virtual StatusCode initialize() override;
22 virtual StatusCode execute() override;
23 virtual StatusCode finalize() override;
24
25private:
26 // configuration parameters
27 ToolHandle<IFPGATrackSimEventInputHeaderTool> m_hitInputTool { this, "InputTool", "FPGATrackSimSGToRawHitsTool/FPGATrackSimSGToRawHitsTool", "Input Tool" };
28 StringProperty m_outpath {this, "OutFileName", "httsim_smartwrapper.root", "output path"};
29 BooleanProperty m_getOffline {this, "GetOffline", false, "flag to enable the offline tracking save"};
30
31
32 // internal pointers
34 unsigned int m_ntowers = 1;
35
36 // Tree structure
37 TFile *m_outfile = nullptr; // ROOT file descriptor
38 TTree *m_hittree = nullptr; // TTree for the hit storage
39 TTree *m_evtinfo = nullptr;
40 TTree *m_trackstree = nullptr;
41 TTree *m_offline_cluster_tree = nullptr;
42
43 // Event Info: Add this to an header ?
44 int m_run_number = 0;
48 int m_LB = 0;
49 int m_BCID = 0;
50 unsigned int m_extendedLevel1ID = 0U;
51 unsigned int m_level1TriggerType = 0U;
52 std::vector<unsigned int> m_level1TriggerInfo;
53 std::vector<FPGATrackSimHit> *m_original_hits = nullptr; // variables related to the FPGATrackSimHit storage
54 std::vector<FPGATrackSimTruthTrack> m_truth_tracks;
55 //offline clusters
56 std::vector<float> *m_offline_locX = nullptr;
57 std::vector<float> *m_offline_locY = nullptr;
58 std::vector<int> *m_offline_isPixel = nullptr;
59 std::vector<int> *m_offline_isBarrel = nullptr;
60 std::vector<int> *m_offline_layer = nullptr;
61 std::vector<int> *m_offline_clustID = nullptr;
62 std::vector<int> *m_offline_trackNumber = nullptr;
63
64 //offline tracks
65 std::vector<float> *m_offline_eta = nullptr;
66 std::vector<float> *m_offline_phi = nullptr;
67 std::vector<float> *m_offline_d0 = nullptr;
68 std::vector<float> *m_offline_z0 = nullptr;
69 std::vector<float> *m_offline_qoverpt = nullptr;
70 std::vector<int> *m_offline_barcode = nullptr;
71 std::vector<float> *m_offline_barcode_frac = nullptr;
72};
73
74#endif // FPGATrackSimSGRORAWHITSWRAPPERALG_h
This declares a basic interface for input tools which provide the FPGATrackSimEventInputHeader data t...
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
std::vector< FPGATrackSimTruthTrack > m_truth_tracks
virtual ~FPGATrackSimRawNtupleWrapperAlg()=default
FPGATrackSimRawNtupleWrapperAlg(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandle< IFPGATrackSimEventInputHeaderTool > m_hitInputTool
std::vector< FPGATrackSimHit > * m_original_hits
FPGATrackSimEventInputHeader * m_eventHeader
TTree * m_trackstree
TTree with general event information.