1919#include " DataFormatsGlobalTracking/RecoContainer.h"
2020#include " DataFormatsPHOS/Cell.h"
2121#include " DataFormatsTRD/TrackTRD.h"
22+ #include " TRDBase/PadCalibrationsAliases.h"
23+ #include " DataFormatsTRD/NoiseCalibration.h"
2224#include " DetectorsBase/GRPGeomHelper.h"
2325#include " DetectorsBase/Propagator.h"
2426#include " Framework/DataProcessorSpec.h"
@@ -215,7 +217,7 @@ enum struct AODProducerStreamerFlags : uint8_t {
215217class AODProducerWorkflowDPL : public Task
216218{
217219 public:
218- AODProducerWorkflowDPL (GID::mask_t src, std::shared_ptr<DataRequest> dataRequest, std::shared_ptr<o2::base::GRPGeomRequest> gr, bool enableSV, bool useMC = true , bool enableFITextra = false ) : mUseMC (useMC), mEnableSV (enableSV), mEnableFITextra (enableFITextra), mInputSources (src), mDataRequest (dataRequest), mGGCCDBRequest (gr) {}
220+ AODProducerWorkflowDPL (GID::mask_t src, std::shared_ptr<DataRequest> dataRequest, std::shared_ptr<o2::base::GRPGeomRequest> gr, bool enableSV, bool useMC = true , bool enableFITextra = false , bool enableTRDextra = false ) : mUseMC (useMC), mEnableSV (enableSV), mEnableFITextra (enableFITextra), mEnableTRDextra (enableTRDextra ), mInputSources (src), mDataRequest (dataRequest), mGGCCDBRequest (gr) {}
219221 ~AODProducerWorkflowDPL () override = default ;
220222 void init (InitContext& ic) final ;
221223 void run (ProcessingContext& pc) final ;
@@ -248,6 +250,9 @@ class AODProducerWorkflowDPL : public Task
248250 o2::dataformats::MeanVertexObject mVtx ;
249251 float mMaxPropXiu {5 .0f }; // max X_IU for which track is to be propagated if mPropTracks is true. (other option: o2::constants::geom::XTPCInnerRef + 0.1f)
250252
253+ const o2::trd::LocalGainFactor* mTRDLocalGain ; // TRD local gain factors from krypton calibration
254+ const o2::trd::NoiseStatusMCM* mTRDNoiseMap ; // TRD noise map
255+
251256 std::unordered_set<GIndex> mGIDUsedBySVtx ;
252257 std::unordered_set<GIndex> mGIDUsedByStr ;
253258
@@ -258,6 +263,7 @@ class AODProducerWorkflowDPL : public Task
258263 bool mUseMC = true ;
259264 bool mEnableSV = true ; // enable secondary vertices
260265 bool mEnableFITextra = false ;
266+ bool mEnableTRDextra = false ;
261267 bool mFieldON = false ;
262268 const float cSpeed = 0 .029979246f ; // speed of light in TOF units
263269
@@ -521,6 +527,9 @@ class AODProducerWorkflowDPL : public Task
521527
522528 template <typename TracksQACursorType>
523529 void addToTracksQATable (TracksQACursorType& tracksQACursor, TrackQA& trackQAInfoHolder);
530+
531+ template <typename TRDsExtraCursorType>
532+ void addToTRDsExtra (const o2::globaltracking::RecoContainer& recoData, TRDsExtraCursorType& trdExtraCursor, const GIndex& trkIdx, int trkTableIdx);
524533
525534 template <typename mftTracksCursorType, typename AmbigMFTTracksCursorType>
526535 void addToMFTTracksTable (mftTracksCursorType& mftTracksCursor, AmbigMFTTracksCursorType& ambigMFTTracksCursor,
@@ -541,7 +550,7 @@ class AODProducerWorkflowDPL : public Task
541550 // helper for track tables
542551 // * fills tables collision by collision
543552 // * interaction time is for TOF information
544- template <typename TracksCursorType, typename TracksCovCursorType, typename TracksExtraCursorType, typename TracksQACursorType, typename AmbigTracksCursorType,
553+ template <typename TracksCursorType, typename TracksCovCursorType, typename TracksExtraCursorType, typename TracksQACursorType, typename TRDsExtraCursorType, typename AmbigTracksCursorType,
545554 typename MFTTracksCursorType, typename MFTTracksCovCursorType, typename AmbigMFTTracksCursorType,
546555 typename FwdTracksCursorType, typename FwdTracksCovCursorType, typename AmbigFwdTracksCursorType, typename FwdTrkClsCursorType>
547556 void fillTrackTablesPerCollision (int collisionID,
@@ -553,6 +562,7 @@ class AODProducerWorkflowDPL : public Task
553562 TracksCovCursorType& tracksCovCursor,
554563 TracksExtraCursorType& tracksExtraCursor,
555564 TracksQACursorType& tracksQACursor,
565+ TRDsExtraCursorType& trdsExtraCursor,
556566 AmbigTracksCursorType& ambigTracksCursor,
557567 MFTTracksCursorType& mftTracksCursor,
558568 MFTTracksCovCursorType& mftTracksCovCursor,
@@ -677,7 +687,7 @@ class AODProducerWorkflowDPL : public Task
677687};
678688
679689// / create a processor spec
680- framework::DataProcessorSpec getAODProducerWorkflowSpec (GID::mask_t src, bool enableSV, bool enableST, bool useMC, bool CTPConfigPerRun, bool enableFITextra);
690+ framework::DataProcessorSpec getAODProducerWorkflowSpec (GID::mask_t src, bool enableSV, bool enableST, bool useMC, bool CTPConfigPerRun, bool enableFITextra, bool enableTRDextra );
681691
682692// helper interface for calo cells to "befriend" emcal and phos cells
683693class CellHelper
0 commit comments