Project
Loading...
Searching...
No Matches
TPCInterpolationSpec.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
12#ifndef O2_TPC_INTERPOLATION_SPEC_H
13#define O2_TPC_INTERPOLATION_SPEC_H
14
16
20#include "Framework/Task.h"
21#include "TStopwatch.h"
27
28using namespace o2::framework;
29
30namespace o2::globaltracking
31{
32struct DataRequest;
33struct RecoContainer;
34} // namespace o2::globaltracking
35
36namespace o2
37{
38namespace tpc
39{
41{
42 public:
43 TPCInterpolationDPL(std::shared_ptr<o2::globaltracking::DataRequest> dr, o2::dataformats::GlobalTrackID::mask_t src, o2::dataformats::GlobalTrackID::mask_t srcMap, std::shared_ptr<o2::base::GRPGeomRequest> gr, bool useMC,
44 bool processITSTPConly, bool sendTrackData, bool debugOutput, bool extDetResid) : mDataRequest(dr), mSources(src), mSourcesMap(srcMap), mGGCCDBRequest(gr), mUseMC(useMC), mProcessITSTPConly(processITSTPConly), mSendTrackData(sendTrackData), mDebugOutput(debugOutput), mExtDetResid(extDetResid) {}
46 void init(InitContext& ic) final;
47 void run(ProcessingContext& pc) final;
48 void endOfStream(EndOfStreamContext& ec) final;
49 void finaliseCCDB(ConcreteDataMatcher& matcher, void* obj) final;
50
51 private:
52 void updateTimeDependentParams(ProcessingContext& pc);
53 void fillMCTruth(const o2::globaltracking::RecoContainer& recoData);
54 o2::tpc::TrackInterpolation mInterpolation;
55 std::shared_ptr<o2::globaltracking::DataRequest> mDataRequest;
56 std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
57 o2::tpc::VDriftHelper mTPCVDriftHelper{};
58 const o2::itsmft::TopologyDictionary* mITSDict = nullptr;
61 bool mUseMC{false};
62 std::unique_ptr<o2::steer::MCKinematicsReader> mMCReader;
63 std::vector<TrackDataMC> mTrackDataMC;
64 bool mProcessITSTPConly{false};
65 bool mProcessSeeds{false};
66 bool mDebugOutput{false};
67 bool mExtDetResid{true};
68 bool mSendTrackData{false};
69 uint32_t mSlotLength{600u};
70 int mMatCorr{2};
71 TStopwatch mTimer;
72};
73
76 o2::dataformats::GlobalTrackID::mask_t srcTrkMap, bool useMC, bool processITSTPConly, bool sendTrackData, bool debugOutput, bool extDetResid, bool itsStag);
77
78} // namespace tpc
79} // namespace o2
80
81#endif
Definition of the ClusterTopology class.
Helper for geometry and GRP related CCDB requests.
Global index for barrel track: provides provenance (detectors combination), index in respective array...
Definition of the TrackInterpolation class.
Helper class to extract VDrift from different sources.
void endOfStream(EndOfStreamContext &ec) final
void finaliseCCDB(ConcreteDataMatcher &matcher, void *obj) final
TPCInterpolationDPL(std::shared_ptr< o2::globaltracking::DataRequest > dr, o2::dataformats::GlobalTrackID::mask_t src, o2::dataformats::GlobalTrackID::mask_t srcMap, std::shared_ptr< o2::base::GRPGeomRequest > gr, bool useMC, bool processITSTPConly, bool sendTrackData, bool debugOutput, bool extDetResid)
void init(InitContext &ic) final
void run(ProcessingContext &pc) final
GLenum src
Definition glcorearb.h:1767
Defining ITS Vertex explicitly as messageable.
Definition Cartesian.h:288
framework::DataProcessorSpec getTPCInterpolationSpec(o2::dataformats::GlobalTrackID::mask_t srcCls, o2::dataformats::GlobalTrackID::mask_t srcVtx, o2::dataformats::GlobalTrackID::mask_t srcTrk, o2::dataformats::GlobalTrackID::mask_t srcTrkMap, bool useMC, bool processITSTPConly, bool sendTrackData, bool debugOutput, bool extDetResid, bool itsStag)
create a processor spec
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...