CbmRoot
Loading...
Searching...
No Matches
CbmRecoQaTask Class Reference

#include <CbmRecoQaTask.h>

Inheritance diagram for CbmRecoQaTask:
[legend]
Collaboration diagram for CbmRecoQaTask:
[legend]

Classes

struct  Detector
 
struct  EventFilter
 
struct  TrackFilter
 
struct  View
 

Public Types

enum  eRecoConfig {
  kRecoEvents = 0 , kRecoTracks , kStsHits , kTrdHits ,
  kTofHits , kRichHits , kMuchHits , kUseMC ,
  kRecoQaNConfigs
}
 
enum  eSetup { kMcbm22 = 0 , kMcbm24 , kDefault }
 
enum class  eViewType : int { kDetUnit = 0 , kTrkProj , kPV }
 
enum class  eProjectionType : int {
  kXYa = 0 , kXYp , kXdX , kXdXMC ,
  kYdY , kYdYMC , kWdT , kXpX ,
  kYpY , kChdT , kXYh , kDmult ,
  kDmultMC , kXYhMC , kPullX , kPullY ,
  kResidualX , kResidualY , kResidualTX , kResidualTY ,
  kPVxy , kPVxz , kPVyz , kPVmult ,
  kXYt0 , kXYt1 , kXYt2 , kXYt3 ,
  kXYt4 , kXYt5
}
 

Public Member Functions

 CbmRecoQaTask ()
 
virtual ~CbmRecoQaTask ()
 
virtual DetectorAddDetector (ECbmModuleId did)
 
virtual EventFilterAddEventFilter (EventFilter::eEventCut cut)
 
virtual TrackFilterAddTrackFilter (TrackFilter::eTrackCut cut)
 
virtual DetectorGetDetector (ECbmModuleId did)
 
virtual const CbmTrackGetTrack (ECbmModuleId did, int id) const
 Retrieve detector specific track by index.
 
virtual InitStatus Init ()
 Perform initialization of data sources and projections.
 
virtual void Exec (Option_t *option)
 Executed task.
 
virtual void Finish ()
 
void SetSetupClass (CbmRecoQaTask::eSetup setup)
 Define the set of extra z positions where the track should be projected in the x-y plane.
 
TString GetGeoTagForDetector (const TString &detector)
 
std::vector< TString > GetPath (TGeoNode *node, TString, TString activeNodeName, int depth=0, const TString &path="")
 
void UseMC (bool set=true)
 

Static Protected Attributes

static std::bitset< kRecoQaNConfigsfuRecoConfig = {}
 

Private Member Functions

 CbmRecoQaTask (const CbmRecoQaTask &)
 
CbmRecoQaTaskoperator= (const CbmRecoQaTask &)
 
virtual bool FilterEvent (const CbmEvent *ptr)
 Filter events for QA use (e.g. event multiplicity)
 
virtual bool FilterTrack (const CbmGlobalTrack *ptr)
 Filter tracks for further use (e.g. track projections)
 
int GetNviews (eViewType type) const
 count views types registered with the task
 
void InitMcbm22 ()
 build QA plots for particular setups
 
void InitMcbm24 ()
 
void InitDefault ()
 
 ClassDef (CbmRecoQaTask, 1)
 local storage for the z positions of track projection planes
 

Private Attributes

CbmKfTrackFitter fFitter
 
TClonesArray * fGTracks = nullptr
 
std::map< ECbmModuleId, TClonesArray * > fTracks = {}
 reconstructed global tracks / event
 
TClonesArray * fTrackMatches = nullptr
 reconstructed global tracks / event
 
TClonesArray * fEvents = nullptr
 MC info for the global tracks.
 
CbmTimeSlicefTimeSlice = nullptr
 reconstructed events
 
std::map< ECbmModuleId, TClonesArray * > fHits = {}
 Time slice info.
 
std::map< ECbmModuleId, CbmMCDataArray * > fPoints = {}
 reconstructed hits
 
std::map< ECbmModuleId, TClonesArray * > fHitMatch = {}
 mc points
 
std::vector< EventFilterfFilterEv = {}
 reconstructed hits
 
std::vector< TrackFilterfFilterTrk = {}
 
CbmMCDataManagercbm_mc_manager = nullptr
 
TDirectoryFile fOutFolder = {"RecoQA", "CA track driven reco QA"}
 
eSetup fSetupClass = eSetup::kMcbm24
 
std::map< ECbmModuleId, DetectorfDetQa = {}
 
std::map< const char *, ViewfViews = {}
 list of detector QA
 
std::vector< TVector3 > fPrjPlanes = {}
 list of QA views
 

Detailed Description

Definition at line 30 of file CbmRecoQaTask.h.

Member Enumeration Documentation

◆ eProjectionType

enum class CbmRecoQaTask::eProjectionType : int
strong
Enumerator
kXYa 
kXYp 

X-Y hit coorelation in track filtered data.

kXdX 

X-Y track projections on detection unit.

kXdXMC 

X to TRK residuals as function of local X in view.

kYdY 

X to TRK residuals w.r.t MC points.

kYdYMC 

Y to TRK residuals as function of local Y in view.

kWdT 

Y to TRK residuals w.r.t MC points.

kXpX 

Time to TRK residuals as function of local high resolution coordinate in view

kYpY 

X to TRK pulls as function of local X in view.

kChdT 

Y to TRK pulls as function of local Y in view.

kXYh 

Time to EV residuals as function of coordinate in view.

kDmult 

X-Y hit coorelation in local view.

kDmultMC 

local view hit multiplicity

kXYhMC 

local view MC point multiplicity

kPullX 

X-Y MC point coorelation in local view (using HitMatch)

kPullY 

Pull distribution X: (RC - MC) / dx_RC.

kResidualX 

Pull distribution Y:

kResidualY 

Residual distribution X: (x_RC - x_MC) in cm.

kResidualTX 

Residual distribution Y:

kResidualTY 

Residual distribution T:

kPVxy 

Residual distribution T:

kPVxz 

x-y projection of the primary vertex:

kPVyz 

x-z projection of the primary vertex:

kPVmult 

y-z projection of the primary vertex:

kXYt0 

y-z projection of the primary vertex:

kXYt1 

X-Y track projections on a random plane (value 0)

kXYt2 

X-Y track projections on a random plane (value 1)

kXYt3 

X-Y track projections on a random plane (value 2)

kXYt4 

X-Y track projections on a random plane (value 3)

kXYt5 

X-Y track projections on a random plane (value 4)

X-Y track projections on a random plane (value 5)

Definition at line 58 of file CbmRecoQaTask.h.

◆ eRecoConfig

Enumerator
kRecoEvents 
kRecoTracks 

has events reconstructed (CbmEvent branch)

kStsHits 

has tracks reconstructed (GlobalTrack branch)

kTrdHits 

has STS hits (StsHit branch)

kTofHits 

has TRD` hits (TrdHit branch)

kRichHits 

has ToF hits (TofHit branch)

kMuchHits 

has Rich hits (RichHit branch)

kUseMC 

has Much hits (MuchHit branch)

kRecoQaNConfigs 

use MC even if available

no of configuration flags

Definition at line 32 of file CbmRecoQaTask.h.

◆ eSetup

Enumerator
kMcbm22 
kMcbm24 
kDefault 

Definition at line 44 of file CbmRecoQaTask.h.

◆ eViewType

enum class CbmRecoQaTask::eViewType : int
strong
Enumerator
kDetUnit 
kTrkProj 

detector view

kPV 

set of track projection views

primary vertex view

Definition at line 50 of file CbmRecoQaTask.h.

Constructor & Destructor Documentation

◆ CbmRecoQaTask() [1/2]

CbmRecoQaTask::CbmRecoQaTask ( )

Definition at line 46 of file CbmRecoQaTask.cxx.

◆ ~CbmRecoQaTask()

virtual CbmRecoQaTask::~CbmRecoQaTask ( )
inlinevirtual

Definition at line 243 of file CbmRecoQaTask.h.

◆ CbmRecoQaTask() [2/2]

CbmRecoQaTask::CbmRecoQaTask ( const CbmRecoQaTask & )
private

Member Function Documentation

◆ AddDetector()

CbmRecoQaTask::Detector * CbmRecoQaTask::AddDetector ( ECbmModuleId did)
virtual

Copy the qa test defined for detector det from the steering macro to the current class

Definition at line 49 of file CbmRecoQaTask.cxx.

References fDetQa, GetDetector(), kFsd, kMuch, kMvd, kPsd, kRich, kSts, kTof, kTrd, kTrd2d, and cbm::algo::ToString().

Referenced by InitDefault(), InitMcbm22(), and InitMcbm24().

◆ AddEventFilter()

CbmRecoQaTask::EventFilter * CbmRecoQaTask::AddEventFilter ( EventFilter::eEventCut cut)
virtual

Definition at line 1947 of file CbmRecoQaTask.cxx.

References fFilterEv.

◆ AddTrackFilter()

CbmRecoQaTask::TrackFilter * CbmRecoQaTask::AddTrackFilter ( TrackFilter::eTrackCut cut)
virtual

Definition at line 1959 of file CbmRecoQaTask.cxx.

References fFilterTrk.

◆ ClassDef()

CbmRecoQaTask::ClassDef ( CbmRecoQaTask ,
1  )
private

local storage for the z positions of track projection planes

◆ Exec()

◆ FilterEvent()

bool CbmRecoQaTask::FilterEvent ( const CbmEvent * ptr)
privatevirtual

Filter events for QA use (e.g. event multiplicity)

Parameters
[in]ptrcbm event
Returns
true if event accepted

Definition at line 740 of file CbmRecoQaTask.cxx.

References fFilterEv, and CbmEvent::GetStartTime().

Referenced by Exec().

◆ FilterTrack()

bool CbmRecoQaTask::FilterTrack ( const CbmGlobalTrack * ptr)
privatevirtual

Filter tracks for further use (e.g. track projections)

Parameters
[in]ptrglobal track
Returns
true if track accepted

Definition at line 752 of file CbmRecoQaTask.cxx.

References fFilterTrk.

Referenced by Exec().

◆ Finish()

void CbmRecoQaTask::Finish ( )
virtual

Definition at line 733 of file CbmRecoQaTask.cxx.

References fOutFolder.

◆ GetDetector()

CbmRecoQaTask::Detector * CbmRecoQaTask::GetDetector ( ECbmModuleId did)
virtual

Definition at line 80 of file CbmRecoQaTask.cxx.

References fDetQa.

Referenced by AddDetector().

◆ GetGeoTagForDetector()

TString CbmRecoQaTask::GetGeoTagForDetector ( const TString & detector)

Definition at line 761 of file CbmRecoQaTask.cxx.

Referenced by InitDefault(), and InitMcbm22().

◆ GetNviews()

int CbmRecoQaTask::GetNviews ( eViewType type) const
private

count views types registered with the task

Definition at line 721 of file CbmRecoQaTask.cxx.

References fViews, and v.

Referenced by Init().

◆ GetPath()

std::vector< TString > CbmRecoQaTask::GetPath ( TGeoNode * node,
TString detector,
TString activeNodeName,
int depth = 0,
const TString & path = "" )

Definition at line 781 of file CbmRecoQaTask.cxx.

References GetPath().

Referenced by GetPath(), InitDefault(), and InitMcbm22().

◆ GetTrack()

const CbmTrack * CbmRecoQaTask::GetTrack ( ECbmModuleId did,
int id ) const
virtual

Retrieve detector specific track by index.

Parameters
[in]didsystem Identifier
[in]idtrack id in the TClonesArray
Returns
pointer to track or nullptr if track/system not available

Definition at line 87 of file CbmRecoQaTask.cxx.

References fTracks, and cbm::algo::ToString().

Referenced by CbmRecoQaTask::TrackFilter::Accept().

◆ Init()

◆ InitDefault()

◆ InitMcbm22()

◆ InitMcbm24()

◆ operator=()

CbmRecoQaTask & CbmRecoQaTask::operator= ( const CbmRecoQaTask & )
private

◆ SetSetupClass()

void CbmRecoQaTask::SetSetupClass ( CbmRecoQaTask::eSetup setup)
inline

Define the set of extra z positions where the track should be projected in the x-y plane.

Definition at line 266 of file CbmRecoQaTask.h.

References fSetupClass.

◆ UseMC()

void CbmRecoQaTask::UseMC ( bool set = true)
inline

Definition at line 270 of file CbmRecoQaTask.h.

References fuRecoConfig, and kUseMC.

Member Data Documentation

◆ cbm_mc_manager

CbmMCDataManager* CbmRecoQaTask::cbm_mc_manager = nullptr
private

Definition at line 310 of file CbmRecoQaTask.h.

Referenced by Init().

◆ fDetQa

std::map<ECbmModuleId, Detector> CbmRecoQaTask::fDetQa = {}
private

Definition at line 313 of file CbmRecoQaTask.h.

Referenced by AddDetector(), Exec(), GetDetector(), and Init().

◆ fEvents

TClonesArray* CbmRecoQaTask::fEvents = nullptr
private

MC info for the global tracks.

Definition at line 303 of file CbmRecoQaTask.h.

Referenced by Exec(), and Init().

◆ fFilterEv

std::vector<EventFilter> CbmRecoQaTask::fFilterEv = {}
private

reconstructed hits

Definition at line 308 of file CbmRecoQaTask.h.

Referenced by AddEventFilter(), and FilterEvent().

◆ fFilterTrk

std::vector<TrackFilter> CbmRecoQaTask::fFilterTrk = {}
private

Definition at line 309 of file CbmRecoQaTask.h.

Referenced by AddTrackFilter(), and FilterTrack().

◆ fFitter

CbmKfTrackFitter CbmRecoQaTask::fFitter
private

Definition at line 299 of file CbmRecoQaTask.h.

Referenced by Exec(), Init(), InitMcbm22(), and InitMcbm24().

◆ fGTracks

TClonesArray* CbmRecoQaTask::fGTracks = nullptr
private

Definition at line 300 of file CbmRecoQaTask.h.

Referenced by Exec(), and Init().

◆ fHitMatch

std::map<ECbmModuleId, TClonesArray*> CbmRecoQaTask::fHitMatch = {}
private

mc points

Definition at line 307 of file CbmRecoQaTask.h.

Referenced by Exec(), and Init().

◆ fHits

std::map<ECbmModuleId, TClonesArray*> CbmRecoQaTask::fHits = {}
private

Time slice info.

Definition at line 305 of file CbmRecoQaTask.h.

Referenced by Exec(), and Init().

◆ fOutFolder

TDirectoryFile CbmRecoQaTask::fOutFolder = {"RecoQA", "CA track driven reco QA"}
private

Definition at line 311 of file CbmRecoQaTask.h.

Referenced by Finish(), and Init().

◆ fPoints

std::map<ECbmModuleId, CbmMCDataArray*> CbmRecoQaTask::fPoints = {}
private

reconstructed hits

Definition at line 306 of file CbmRecoQaTask.h.

Referenced by Exec(), and Init().

◆ fPrjPlanes

std::vector<TVector3> CbmRecoQaTask::fPrjPlanes = {}
private

list of QA views

Definition at line 315 of file CbmRecoQaTask.h.

Referenced by Exec(), Init(), InitMcbm22(), and InitMcbm24().

◆ fSetupClass

eSetup CbmRecoQaTask::fSetupClass = eSetup::kMcbm24
private

Definition at line 312 of file CbmRecoQaTask.h.

Referenced by Init(), and SetSetupClass().

◆ fTimeSlice

CbmTimeSlice* CbmRecoQaTask::fTimeSlice = nullptr
private

reconstructed events

Definition at line 304 of file CbmRecoQaTask.h.

◆ fTrackMatches

TClonesArray* CbmRecoQaTask::fTrackMatches = nullptr
private

reconstructed global tracks / event

Definition at line 302 of file CbmRecoQaTask.h.

Referenced by Init().

◆ fTracks

std::map<ECbmModuleId, TClonesArray*> CbmRecoQaTask::fTracks = {}
private

reconstructed global tracks / event

Definition at line 301 of file CbmRecoQaTask.h.

Referenced by GetTrack(), and Init().

◆ fuRecoConfig

std::bitset< CbmRecoQaTask::eRecoConfig::kRecoQaNConfigs > CbmRecoQaTask::fuRecoConfig = {}
staticprotected

Definition at line 43 of file CbmRecoQaTask.h.

Referenced by Init(), InitMcbm22(), CbmRecoQaTask::View::Register(), and UseMC().

◆ fViews

std::map<const char*, View> CbmRecoQaTask::fViews = {}
private

The documentation for this class was generated from the following files: