1717#define ALICE_O2_EVENTVISUALISATION_WORKFLOW_EVEWORKFLOWHELPER_H
1818
1919#include " ReconstructionDataFormats/GlobalTrackID.h"
20+ #include " DataFormatsTRD/TrackTRD.h"
2021#include " DataFormatsGlobalTracking/RecoContainer.h"
2122#include " EveWorkflow/EveConfiguration.h"
2223#include " EventVisualisationDataConverter/VisualisationEvent.h"
2324#include " MFTBase/GeometryTGeo.h"
2425#include " ITSBase/GeometryTGeo.h"
26+ #include " TPCFastTransform.h"
27+ #include " TPCReconstruction/TPCFastTransformHelperO2.h"
2528
2629namespace o2 ::itsmft
2730{
@@ -43,7 +46,7 @@ class EveWorkflowHelper
4346 static constexpr std::array<std::pair<float , float >, GID::NSources> minmaxR{{
4447 {1 ., 40 .}, // ITS
4548 {85 ., 240 .}, // TPC
46- {-1 , -1 }, // TRD
49+ {-1 , -1 }, // TRD (never alone)
4750 {-1 , -1 }, // TOF
4851 {-1 , -1 }, // PHS
4952 {-1 , -1 }, // CPV
@@ -60,33 +63,40 @@ class EveWorkflowHelper
6063 {85 ., 430 .}, // TPCTOF
6164 {85 ., 380 .}, // TPCTRD
6265 {1 ., 380 .}, // ITSTPCTRD
63- {- 1 , - 1 }, // ITSTPCTOF,
64- {- 1 , - 1 }, // TPCTRDTOF,
65- {- 1 , - 1 }, // ITSTPCTRDTOF, // full barrel track
66+ {1 ., 430 .}, // ITSTPCTOF,
67+ {85 ., 430 .}, // TPCTRDTOF,
68+ {1 ., 430 .}, // ITSTPCTRDTOF, // full barrel track
6669 {-1 , -1 }, // ITSAB,
6770 }};
71+ std::unique_ptr<gpu::TPCFastTransform> mTPCFastTransform ;
6872
6973 public:
7074 EveWorkflowHelper ();
7175 static std::vector<PNT> getTrackPoints (const o2::track::TrackPar& trc, float minR, float maxR, float maxStep, float minZ = 25000 , float maxZ = 25000 );
7276 void selectTracks (const CalibObjectsConst* calib, GID::mask_t maskCl,
7377 GID::mask_t maskTrk, GID::mask_t maskMatch);
74- template <typename Functor>
75- void addTrackToEvent (Functor source, GID gid, float trackTime, float z = 0 .); // store track in mEvent
76- void draw (std::string jsonPath, int numberOfFiles, int numberOfTracks = -1 );
78+ void addTrackToEvent (const o2::track::TrackParCov& tr, GID gid, float trackTime, float dz);
79+ void draw (std::string jsonPath, int numberOfFiles, int numberOfTracks, o2::dataformats::GlobalTrackID::mask_t trkMask, o2::dataformats::GlobalTrackID::mask_t clMask, float mWorkflowVersion );
7780 void drawTPC (GID gid, float trackTime);
7881 void drawITS (GID gid, float trackTime);
7982 void drawMFT (GID gid, float trackTime);
8083 void drawMCH (GID gid, float trackTime);
84+ void drawMID (GID gid, float trackTime);
8185 void drawITSTPC (GID gid, float trackTime);
8286 void drawITSTPCTOF (GID gid, float trackTime);
87+ void drawITSTPCTRD (GID gid, float trackTime);
88+ void drawITSTPCTRDTOF (GID gid, float trackTime);
89+ void drawTPCTRDTOF (GID gid, float trackTime);
90+ void drawTPCTRD (GID gid, float trackTime);
91+ void drawTPCTOF (GID gid, float trackTime);
8392 void drawITSClusters (GID gid, float trackTime);
8493 void drawTPCClusters (GID gid, float trackTime);
8594 void drawMFTClusters (GID gid, float trackTime);
8695 void drawMCHClusters (GID gid, float trackTime);
96+ void drawMIDClusters (GID gid, float trackTime);
97+ void drawTRDClusters (const o2::trd::TrackTRD& trc, float trackTime);
98+ void drawTOFClusters (GID gid, float trackTime);
8799 void drawPoint (float x, float y, float z, float time) { mEvent .addCluster (x, y, z, time); }
88- void drawPoint (o2::BaseCluster<float > pnt, float time) { mEvent .addCluster (pnt.getX (), pnt.getY (), pnt.getZ (), time); }
89- void drawPoint (const float xyz[], float time) { mEvent .addCluster (xyz[0 ], xyz[1 ], xyz[2 ], time); }
90100 void prepareITSClusters (const o2::itsmft::TopologyDictionary& dict); // fills mITSClustersArray
91101 void prepareMFTClusters (const o2::itsmft::TopologyDictionary& dict); // fills mMFTClustersArray
92102
0 commit comments