142 fpDebugger = std::make_shared<tools::Debugger>(filename);
207 void Check()
override;
219 InitStatus
InitQa()
override;
238 void DrawSetOf(
const std::vector<ETrackType>& vTypes, std::function<TObj*(
ETrackType)> GetObj);
327 for (
auto type : vTypes) {
333 if constexpr (std::is_same_v<TH1F, TObj>) {
CA Tracking monitor class.
CA Tracking performance interface for CBM (header)
Time-slice/event reader for CA tracker in CBM (header)
QA submodule for different track types (header)
ECbmRecoMode
Reconstruct the full time slice or event-by-event.
Implementation of L1DetectorID enum class for CBM.
ECbmCaTrackingMode
Enumeration for different tracking running modes.
@ kMCBM
Global tracking in mCBM (STS, MuCh, TRD, TOF), results stored to GlobalTrack branch.
@ kSTS
Local tracking in CBM (STS + MVD), results stored to the StsTrack branch.
Class for a canvas with a comparison of multiple graphs or histograms (header)
A base class for CBM QA task logic.
Class to draw a comparison of objects on the provided canvas or pad.
void Clear()
Clears the set of objects.
void Draw(Option_t *opt) const
Draw objects.
void SetMinimum(double min)
Sets minimum of the histogram/graph.
void RegisterObject(const Obj *pObj, const char *title=nullptr)
Registers an object to draw.
CbmQaTask(const char *name, int verbose, bool isMCUsed, ECbmRecoMode recoMode=ECbmRecoMode::Timeslice)
Constructor from parameters.
bool IsMCUsed() const
Returns flag, whether MC information is used or not in the task.
This class represents a package for tracking-related data.
Monitor class for the CA tracking.
void ExecQa() override
Fills histograms from time slice or event.
void FillTrackTypeHistograms()
Fills histograms for a given track types.
static constexpr int kCYSIZEPX
Canvas size along y-axis [px].
void DrawSetOf(const std::vector< ETrackType > &vTypes, std::function< TObj *(ETrackType)> GetObj)
Utility function to draw a generic comparison of histograms from different track types.
double fMaxExtrapolationStep
Maximum extrapolation step [cm], set when it is > 0.
OutputQa(int verbose, bool isMCUsed, ECbmRecoMode recoMode=ECbmRecoMode::EventByEvent)
Constructor from parameters.
TTypeArr_t< bool > fvbTrackTypeOn
Usage flag for different track types.
std::unique_ptr< TimeSliceReader > fpTSReader
Reader of the time slice.
ECbmCaTrackingMode fTrackingMode
Tracking mode.
TTypeArr_t< std::string > fvsTrackTypeName
Array of track type unique names.
ca::McData fMCData
Input MC data (points and tracks)
void EnableDebugger(const char *filename)
Enables debugger.
void AddTrackType(ETrackType type, bool flag=true)
Adds track type.
void SetPerformanceMode(int mode)
Sets performance mode.
void SetStsTrackingMode()
Sets STS tracking mode.
void SetMcbmTrackingMode()
Sets mCBM global tracking mode.
ca::Vector< cbm::algo::ca::McHitInfo > fvHits
EMonitorKey
QA monitor counters.
void CreateSummary() override
Creates summary cavases, tables etc.
void SetUseTof(bool flag=true)
Sets TOF use flag.
bool fbUseMuch
is MuCh used
void SetMaxExtrapolationStep(double maxStep)
Sets maximum extrapolation step.
InitStatus InitQa() override
Initialises the QA-task.
ClassDefOverride(OutputQa, 0)
int fPerformanceMode
Performance mode.
void InitDrawingAttributes()
Defines drawing attributes for histograms of different track types.
void SetUseSts(bool flag=true)
Sets STS use flag.
void SetTrackTypeListForSummary(std::set< ETrackType > &&trackTypes)
Set track type list for summary table.
std::set< ETrackType > fmSummaryTableEntries
Which track types should be listed in the summary table.
cbm::ca::tools::Debugger fDebugger
debugger
ca::Monitor< EMonitorKey > fMonitor
TTypeArr_t< DrawAtt > fvTrackDrawAtts
Drawing attributes for track types.
cbm::ca::TrackTypeQa::FitQaPointSet CreateFitQaPointSet(int iTrkReco) const
void SetUseTrd(bool flag=true)
Sets TRD use flag.
void FillMCTrack(ETrackType type, int iTrkMC)
Fills MC track by its index.
int fEvtDisplayMinNofPoints
minimum number of MC points in the event display
void SetUseMuch(bool flag=true)
Sets MuCh use flag.
void SetUseMvd(bool flag=true)
Sets MVD use flag.
std::shared_ptr< tools::Debugger > fpDebugger
Debugger.
void DrawEvent()
Draws event.
TTypeArr_t< std::unique_ptr< TrackTypeQa > > fvpTrackHistograms
Histogrammers for different track types.
std::shared_ptr< const ca::Parameters< double > > fpParameters
Tracking parameters object.
static constexpr int kCXSIZEPX
Canvas size along x-axis [px].
std::shared_ptr< MCModule > fpMCModule
MC module.
CbmKfTrackFitter fTrackFitter
Track fitter.
std::string fsParametersFilename
void DeInit() override
De-initializes histograms.
std::shared_ptr< ca::DataManager > fpDataManager
Data manager.
static constexpr bool kEXPTRACKFILL
ca::Vector< CbmL1HitId > fvHitIds
bool fbDrawEvents
flag to draw events with the event display
std::array< T, ETrackType::END > TTypeArr_t
Array for track type properties.
void Check() override
Method to check, if the QA results are acceptable.
ca::Vector< CbmL1Track > fvRecoTracks
void SetNofThreads(int nThreads)
Sets number of threads to use for filling histograms.
void SetEventDisplay(bool bDrawEvents, int minNofPoints=2)
Sets event display.
ETrackType
Enumeration fors track category.
@ kGhost
ghost tracks (no MC is used)
@ kAll2STS1TOF
tracks, which have at least two STS hits and one TOF hit
@ kPrimLongFast
primary long tracks (all stations in set)
@ kPrimPPBAR
primary p/p-bar
@ kPrim2STS1TOF
primary tracks, which have at least two STS hits and one TOF hit
@ kSecPI
secondary pi+/pi-
@ kSecPPBAR
secondary p/p-bar
@ kSecMU
secondary mu+/mu-
@ kSecPBAR
secondary p-bar
@ kSec2STS1TOF
secondary tracks, which have at least two STS hits and one TOF hit
Structure to keep drawing attributes of histograms.
Style_t fMarker
Marker style.
Color_t fColor
Marker and line color.