12#ifndef O2_TRD_GLOBALTRACKINGQCSPEC_H
13#define O2_TRD_GLOBALTRACKINGQCSPEC_H
50 TRDGlobalTrackingQC(std::shared_ptr<DataRequest> dr, std::shared_ptr<o2::base::GRPGeomRequest> gr,
bool tpcAvailable) : mDataRequest(dr), mGGCCDBRequest(gr), mTPCavailable(tpcAvailable) {}
58 if (getenv(
"ALIEN_JDL_LPMPRODUCTIONTYPE") && std::strcmp(getenv(
"ALIEN_JDL_LPMPRODUCTIONTYPE"),
"MC") == 0) {
67 updateTimeDependentParams(pc);
85 static bool initOnceDone =
false;
97 std::shared_ptr<DataRequest> mDataRequest;
98 std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
99 bool mTPCavailable{
false};
105 std::vector<OutputSpec> outputs;
106 outputs.emplace_back(
"TRD",
"TRACKINGQC", 0, Lifetime::Timeframe);
107 auto dataRequest = std::make_shared<DataRequest>();
108 bool isTPCavailable =
false;
111 LOGF(
debug,
"Found ITS-TPC tracks as input, loading ITS-TPC-TRD");
115 LOGF(
debug,
"Found TPC tracks as input, loading TPC-TRD");
117 isTPCavailable =
true;
121 dataRequest->requestTracks(
src,
false);
122 dataRequest->requestClusters(srcClu,
false);
123 dataRequest->inputs.emplace_back(
"localgainfactors",
"TRD",
"LOCALGAINFACTORS", 0, Lifetime::Condition,
ccdbParamSpec(
"TRD/Calib/LocalGainFactor"));
124 auto ggRequest = std::make_shared<o2::base::GRPGeomRequest>(
false,
136 AlgorithmSpec{adaptFromTask<TRDGlobalTrackingQC>(dataRequest, ggRequest, isTPCavailable)},
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)
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)
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 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)
Defining PrimaryVertex 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)