12#ifndef O2_TRD_GLOBALTRACKINGQCSPEC_H
13#define O2_TRD_GLOBALTRACKINGQCSPEC_H
60 if (getenv(
"ALIEN_JDL_LPMPRODUCTIONTYPE") && std::strcmp(getenv(
"ALIEN_JDL_LPMPRODUCTIONTYPE"),
"MC") == 0) {
69 updateTimeDependentParams(pc);
72 std::vector<int> triggeredBCFT0;
75 uint32_t firstOrbit = 0;
76 for (
size_t ft0id = 0; ft0id < ft0recPoints.size(); ft0id++) {
77 const auto& f0rec = ft0recPoints[ft0id];
79 firstOrbit = f0rec.getInteractionRecord().orbit;
83 triggeredBCFT0.push_back(f0rec.getInteractionRecord().differenceInBC({0, firstOrbit}));
103 static bool initOnceDone =
false;
116 std::shared_ptr<DataRequest> mDataRequest;
117 std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
118 bool mTPCavailable{
false};
124 std::vector<OutputSpec> outputs;
125 outputs.emplace_back(
"TRD",
"TRACKINGQC", 0, Lifetime::Timeframe);
126 auto dataRequest = std::make_shared<DataRequest>();
127 bool isTPCavailable =
false;
130 LOGF(
debug,
"Found ITS-TPC tracks as input, loading ITS-TPC-TRD");
134 LOGF(
debug,
"Found TPC tracks as input, loading TPC-TRD");
136 isTPCavailable =
true;
140 dataRequest->requestTracks(
src,
false);
141 dataRequest->requestClusters(srcClu,
false);
142 dataRequest->inputs.emplace_back(
"localgainfactors",
"TRD",
"LOCALGAINFACTORS", 0, Lifetime::Condition,
ccdbParamSpec(
"TRD/Calib/LocalGainFactor"));
143 auto ggRequest = std::make_shared<o2::base::GRPGeomRequest>(
false,
155 AlgorithmSpec{adaptFromTask<TRDGlobalTrackingQC>(dataRequest, ggRequest, isTPCavailable,
src)},
Definition of the GeometryManager class.
Helper for geometry and GRP related CCDB requests.
Header of the General Run Parameters object.
Global index for barrel track: provides provenance (detectors combination), index in respective array...
Configurable generator for RootTreeWriter processor spec.
Check the performance of the TRD in global tracking.
void checkUpdates(o2::framework::ProcessingContext &pc)
static GRPGeomHelper & instance()
void setRequest(std::shared_ptr< GRPGeomRequest > req)
static const InteractionTag & Instance()
Generate a processor spec for the RootTreeWriter utility.
InputRecord & inputs()
The inputs associated with this processing context.
~TRDGlobalTrackingQC() override=default
TRDGlobalTrackingQC(std::shared_ptr< DataRequest > dr, std::shared_ptr< o2::base::GRPGeomRequest > gr, bool tpcAvailable, o2::dataformats::GlobalTrackID::mask_t src)
void run(ProcessingContext &pc) final
void finaliseCCDB(framework::ConcreteDataMatcher &matcher, void *obj) final
void endOfStream(framework::EndOfStreamContext &ec) final
This is invoked whenever we have an EndOfStream event.
void init(InitContext &ic) final
void setInput(const o2::globaltracking::RecoContainer &input)
Initialize the input arrays.
void run()
Main processing function.
std::vector< TrackQC > & getTrackQC()
void disablePID()
Disable TPC dEdx information.
void setTriggeredBCFT0(std::vector< int > t)
void reset()
Reset the output vector.
void setLocalGainFactors(const o2::trd::LocalGainFactor &localGain)
void init()
Load geometry and apply magnetic field setting.
void setApplyShift(bool f)
void setFirstOrbit(uint32_t o)
Defining ITS Vertex explicitly as messageable.
std::vector< ConfigParamSpec > ccdbParamSpec(std::string const &path, int runDependent, std::vector< CCDBMetadata > metadata={}, int qrate=0)
std::vector< ConfigParamSpec > Options
DataProcessorSpec getTRDTrackingQCWriterSpec()
DataProcessorSpec getTRDGlobalTrackingQCSpec(o2::dataformats::GlobalTrackID::mask_t src)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
void collectData(o2::framework::ProcessingContext &pc, const DataRequest &request)
auto getFT0RecPoints() const