16#ifndef O2_TRD_CALIBRATORVDEXB_H
17#define O2_TRD_CALIBRATORVDEXB_H
29#include "Fit/Fitter.h"
46 std::array<double, constants::MAXCHAMBER>
vdPreCorr;
47 std::array<double, constants::MAXCHAMBER>
laPreCorr;
66 bool hasEnoughData(const
Slot& slot) const final {
return slot.getContainer()->getNEntries() >= mMinEntriesTotal; }
89 bool mInitDone{
false};
93 bool mEnableOutput{
false};
94 std::unique_ptr<TFile> mOutFile{
nullptr};
95 std::unique_ptr<TTree> mOutTree{
nullptr};
96 FitFunctor mFitFunctor;
97 std::vector<o2::ccdb::CcdbObjectInfo> mInfoVector;
98 std::vector<o2::trd::CalVdriftExB> mObjectVector;
99 ROOT::Fit::Fitter mFitter;
100 double mParamsStart[2];
Class to store the angular residuals of TRD tracklets wrt TPC tracks for each TRD chamber.
Object with vDrift and ExB values per chamber to be written into the CCDB.
static const TRDCalibParams & Instance()
void retrievePrev(o2::framework::ProcessingContext &pc)
bool hasEnoughData(const Slot &slot) const final
void finalizeSlot(Slot &slot) final
std::vector< o2::ccdb::CcdbObjectInfo > & getCcdbObjectInfoVector()
const std::vector< o2::trd::CalVdriftExB > & getCcdbObjectVector() const
CalibratorVdExB()=default
Slot & emplaceNewSlot(bool front, TFType tStart, TFType tEnd) final
~CalibratorVdExB() final=default
constexpr int MAXCHAMBER
the maximum number of installed chambers
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Defining DataPointCompositeObject explicitly as copiable.
std::array< double, constants::MAXCHAMBER > laPreCorr
LorentzAngle from previous Run.
double mAnodePlane
distance of the TRD anode plane from the drift cathodes in m
int currDet
the current TRD chamber number
double operator()(const double *par) const
std::array< std::unique_ptr< TProfile >, constants::MAXCHAMBER > profiles
profile histograms for each TRD chamber
double calculateDeltaAlphaSim(double vdFit, double laFit, double impactAng) const
std::array< double, constants::MAXCHAMBER > vdPreCorr
vDrift from previous Run
float upperBoundAngleFit
upper bound for fit angle
float lowerBoundAngleFit
lower bound for fit angle
size_t minEntriesTotal
minimum total required for meaningful fits
size_t minEntriesChamber
minimum number of entries per chamber to fit single time slot