|
CbmRoot
|
#include <CbmRecoQaTask.h>
Classes | |
| struct | Detector |
| struct | EventFilter |
| struct | TopoFilter |
| struct | TrackFilter |
| class | Trajectory |
| struct | View |
Public Types | |
| enum | eRecoConfig { kRecoEvents = 0 , kRecoTracks , kStsHits , kTrdHits , kTofHits , kRichHits , kMuchHits , kUseMC , kUseSts , kUseTrd , kUseTof , kRecoQaNConfigs } |
| enum | eSetup { kMcbm22 = 0 , kMcbm24 , kMcbm25 , kDefault } |
| enum class | eViewType : int { kDetUnit = 0 , kTrkProj , kPV } |
| enum class | eProjectionType : int { kXYa = 0 , kXYp , kXdX , kXdXMC , kXdXT , kYdY , kYdYMC , kYdYT , kWdT , kXpX , kYpY , kChdT , kXYh , kDmult , kDmultMC , kXYhMC , kPullX , kPullY , kResidualX , kResidualY , kResidualTX , kResidualTY , kPVxy , kPVxz , kPVyz , kPVmult , kPVxsx , kPVysy , kPVzsz , kXYt0 , kXYt1 , kXYt2 , kXYt3 , kXYt4 , kXYt5 , kDebug0 , kDebug1 } |
Public Member Functions | |
| CbmRecoQaTask () | |
| virtual | ~CbmRecoQaTask () |
| void | Activate (ECbmModuleId det, bool set=true) |
| Explcitely Activate/Deactivate detector for tracking. If set to false, the detector is QAed but it is not consider in tracking refit. | |
| virtual Detector * | AddDetector (ECbmModuleId did) |
| virtual EventFilter * | AddEventFilter (EventFilter::eEventCut cut) |
| virtual TrackFilter * | AddTrackFilter (ECbmModuleId cut) |
| virtual Detector * | GetDetector (ECbmModuleId did) |
| template<class Data> | |
| const Data * | GetData (ECbmModuleId did, int id) const |
| Retrieve detector specific data type (Track, Hit, Match) 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 Public Member Functions | |
| template<ECbmModuleId d> | |
| static size_t | GetHitDetectorId (const CbmHit *h, std::vector< int > &sel) |
| Retrieve detector specific hit to sensor identification array. | |
Static Public Attributes | |
| static constexpr size_t | projSz = 4 |
| Define the identifiers of the sensors from each tracking layer of the setup to be considered in the projections. The list is composed of groups of 3 int identifiers, specific for each system. If a tracking layer is not mentioned it is assumed as no cut (all). The interpretation of the 3 identifiers for each CBM system : | |
| static constexpr size_t | stsSz = 3 |
| static constexpr size_t | tofSz = 3 |
| static constexpr size_t | trdSz = 7 |
Protected Member Functions | |
| bool | IsActive (eRecoConfig feature) |
Static Protected Attributes | |
| static std::bitset< kRecoQaNConfigs > | fuRecoConfig = {} |
Private Member Functions | |
| CbmRecoQaTask (const CbmRecoQaTask &) | |
| CbmRecoQaTask & | operator= (const CbmRecoQaTask &) |
| template<ECbmModuleId d> | |
| int | GetDebugInfo (const CbmHit *h) |
| Detector specific extra info. | |
| virtual bool | FilterEvent (const CbmEvent *ptr) const |
| Filter events for QA use (e.g. event multiplicity) | |
| bool | FilterHit (const CbmHit *h, ECbmModuleId d) const |
| Filter hit based on internal properties (for the originating sensor \call FilterView()) | |
| virtual bool | FilterTrack (const CbmGlobalTrack *ptr) const |
| Filter tracks based on cuts. The cuts describe track composition (type of detector hit attached) and hit topology (specific detection unit for each hit). For filtering on track projection refere to. | |
| virtual bool | FilterTrack (const Trajectory *ptr) const |
| Filter tracks based on track projection. The track is projected at a certain z ccordinate using all attached hits and is accepted if it is inside the circle of center (x, y) and radius R. | |
| int | GetNviews (eViewType type) const |
| count views types registered with the task | |
| void | InitMcbm22 () |
| build QA plots for particular setups | |
| void | InitMcbm24 () |
| void | InitMcbm25 () |
| void | InitDefault () |
| template<class Data> | |
| std::map< ECbmModuleId, TClonesArray * > | MapDataList (std::string &s) const |
| link the right data list for the data type (Hit, Tracks, Clusters) | |
| ClassDef (CbmRecoQaTask, 1) | |
| local storage for the z positions of track projection planes | |
| template<> | |
| std::map< ECbmModuleId, TClonesArray * > | MapDataList (std::string &s) const |
| template<> | |
| std::map< ECbmModuleId, TClonesArray * > | MapDataList (std::string &s) const |
| template<> | |
| std::map< ECbmModuleId, TClonesArray * > | MapDataList (std::string &s) const |
| template<> | |
| std::map< ECbmModuleId, TClonesArray * > | MapDataList (std::string &s) const |
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. | |
| CbmTimeSlice * | fTimeSlice = nullptr |
| reconstructed events | |
| std::map< ECbmModuleId, TClonesArray * > | fHits = {} |
| Time slice info. | |
| std::map< ECbmModuleId, TClonesArray * > | fClusters = {} |
| reconstructed hits | |
| std::map< ECbmModuleId, CbmMCDataArray * > | fPoints = {} |
| reconstructed Clusters | |
| std::map< ECbmModuleId, TClonesArray * > | fHitMatch = {} |
| mc points | |
| std::vector< EventFilter > | fFilterEv = {} |
| reconstructed hits | |
| std::vector< TrackFilter > | fFilterTrk = {} |
| CbmMCDataManager * | cbm_mc_manager = nullptr |
| TDirectoryFile | fOutFolder = {"RecoQA", "CA track driven reco QA"} |
| eSetup | fSetupClass = eSetup::kMcbm24 |
| std::map< ECbmModuleId, Detector > | fDetQa = {} |
| std::map< const char *, View > | fViews = {} |
| list of detector QA | |
| std::vector< TVector3 > | fPrjPlanes = {} |
| list of QA views | |
Definition at line 30 of file CbmRecoQaTask.h.
|
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. |
| kXdXT | X to TRK residuals w.r.t MC points. |
| kYdY | TRK errors in X direction as function of local X. |
| kYdYMC | Y to TRK residuals as function of local Y in view. |
| kYdYT | Y to TRK residuals w.r.t MC points. |
| kWdT | TRK errors in Y direction as function of local Y. |
| 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: |
| kPVxsx | y-z projection of the primary vertex: |
| kPVysy | x-sx projection of the primary vertex: |
| kPVzsz | y-sy projection of the primary vertex: |
| kXYt0 | z-sz 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) |
| kDebug0 | X-Y track projections on a random plane (value 5) |
| kDebug1 | debug slot for detectors debug slot for detectors |
Definition at line 62 of file CbmRecoQaTask.h.
| 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) |
| kUseSts | use MC even if available |
| kUseTrd | use STS hits in track refit |
| kUseTof | use TRD hits in track refit |
| kRecoQaNConfigs | use ToF hits in track refit no of configuration flags |
Definition at line 32 of file CbmRecoQaTask.h.
| Enumerator | |
|---|---|
| kMcbm22 | |
| kMcbm24 | |
| kMcbm25 | |
| kDefault | |
Definition at line 47 of file CbmRecoQaTask.h.
|
strong |
| Enumerator | |
|---|---|
| kDetUnit | |
| kTrkProj | detector view |
| kPV | set of track projection views primary vertex view |
Definition at line 54 of file CbmRecoQaTask.h.
| CbmRecoQaTask::CbmRecoQaTask | ( | ) |
Definition at line 50 of file CbmRecoQaTask.cxx.
References fuRecoConfig, kUseSts, kUseTof, and kUseTrd.
Referenced by CbmRecoQaTask::EventFilter::Accept(), CbmRecoQaTask::TrackFilter::Accept(), CbmRecoQaTask(), ClassDef(), operator=(), CbmRecoQaTask::EventFilter::~EventFilter(), and CbmRecoQaTask::TrackFilter::~TrackFilter().
|
inlinevirtual |
Definition at line 308 of file CbmRecoQaTask.h.
|
private |
References CbmRecoQaTask().
| void CbmRecoQaTask::Activate | ( | ECbmModuleId | det, |
| bool | set = true ) |
Explcitely Activate/Deactivate detector for tracking. If set to false, the detector is QAed but it is not consider in tracking refit.
Definition at line 89 of file CbmRecoQaTask.cxx.
References fuRecoConfig, kRecoQaNConfigs, kSts, kTof, kTrd, kUseSts, kUseTof, and kUseTrd.
|
virtual |
Definition at line 58 of file CbmRecoQaTask.cxx.
References fDetQa, GetDetector(), kFsd, kMuch, kMvd, kPsd, kRich, kSts, kTof, kTrd, and kTrd2d.
Referenced by InitDefault(), InitMcbm22(), InitMcbm24(), and InitMcbm25().
|
virtual |
Definition at line 2571 of file CbmRecoQaTask.cxx.
References fFilterEv.
|
virtual |
Definition at line 2585 of file CbmRecoQaTask.cxx.
References fFilterTrk.
|
private |
local storage for the z positions of track projection planes
References CbmRecoQaTask().
|
virtual |
Executed task.
Definition at line 832 of file CbmRecoQaTask.cxx.
References cbm::algo::kf::Trajectory< T >::AddNodes(), cbm::algo::kf::Trajectory< T >::DisableMeasurementAtNode(), fDetQa, fEvents, fFitter, fGTracks, fHitMatch, fHits, FilterEvent(), FilterHit(), FilterTrack(), CbmVertex::FindTrackByIndex(), fPoints, fPrjPlanes, CbmRecoQaTask::View::fType, fuRecoConfig, fViews, CbmVertex::GetCovariance(), GetDebugInfo(), CbmKfTrackFitter< FlagFitTime >::Trajectory::GetHitIndex(), CbmKfTrackFitter< FlagFitTime >::Trajectory::GetHitSystemId(), cbm::algo::kf::Trajectory< T >::GetNode(), cbm::algo::kf::Trajectory< T >::GetNofNodes(), CbmVertex::GetNTracks(), CbmRecoQaTask::Trajectory::GetPlaneId(), CbmHit::GetRefId(), IsActive(), kFsd, kGlobalTrack, kLastModule, kMuch, kMuchHits, kMvd, kNotExist, kPsd, kRich, kRichHits, kSts, kStsHits, kTof, kTofHits, kTrd, kTrd2d, kTrdHits, kTrkProj, kUseSts, kUseTof, kUseTrd, CbmRecoQaTask::View::Load(), max(), CbmVertex::Position(), CbmRecoQaTask::Trajectory::SetPlaneId(), sqrt(), cbm::util::ToString(), and v.
|
privatevirtual |
Filter events for QA use (e.g. event multiplicity)
| [in] | ptr | cbm event |
Definition at line 1159 of file CbmRecoQaTask.cxx.
References fFilterEv, and CbmEvent::GetStartTime().
Referenced by Exec().
|
private |
Filter hit based on internal properties (for the originating sensor \call FilterView())
| [in] | ptr | to hit |
Definition at line 1171 of file CbmRecoQaTask.cxx.
References fFilterTrk, GetData(), CbmHit::GetRefId(), kSts, kTof, kTrd, cbm::util::ToString(), CbmCluster::ToString(), and CbmHit::ToString().
Referenced by CbmRecoQaTask::TrackFilter::Accept(), and Exec().
|
privatevirtual |
Filter tracks based on cuts. The cuts describe track composition (type of detector hit attached) and hit topology (specific detection unit for each hit). For filtering on track projection refere to.
| [in] | ptr | global track |
Definition at line 1207 of file CbmRecoQaTask.cxx.
References fFilterTrk, CbmGlobalTrack::GetStsTrackIndex(), CbmGlobalTrack::GetTofTrackIndex(), CbmGlobalTrack::GetTrdTrackIndex(), and kRef.
Referenced by Exec().
|
privatevirtual |
Filter tracks based on track projection. The track is projected at a certain z ccordinate using all attached hits and is accepted if it is inside the circle of center (x, y) and radius R.
| [in] | ptr | Kalman fitter trajectory representation |
Definition at line 1220 of file CbmRecoQaTask.cxx.
References fFilterTrk, cbm::algo::kf::Trajectory< T >::GetNodes(), CbmRecoQaTask::Trajectory::GetPlaneId(), kRef, and sqrt().
|
virtual |
Definition at line 1152 of file CbmRecoQaTask.cxx.
References fOutFolder.
| const Data * CbmRecoQaTask::GetData | ( | ECbmModuleId | did, |
| int | id ) const |
Retrieve detector specific data type (Track, Hit, Match) by index.
| [in] | did | system Identifier |
| [in] | id | data id in the TClonesArray |
Definition at line 146 of file CbmRecoQaTask.cxx.
References MapDataList().
Referenced by CbmRecoQaTask::TrackFilter::Accept(), CbmRecoQaTask::GetDebugInfo< ECbmModuleId::kTrd >(), and FilterHit().
|
private |
Detector specific extra info.
Definition at line 351 of file CbmRecoQaTask.cxx.
Referenced by CbmRecoQaTask::GetDebugInfo< ECbmModuleId::kTrd >(), and Exec().
|
virtual |
| TString CbmRecoQaTask::GetGeoTagForDetector | ( | const TString & | detector | ) |
Definition at line 1246 of file CbmRecoQaTask.cxx.
Referenced by InitDefault(), and InitMcbm22().
|
static |
Retrieve detector specific hit to sensor identification array.
| [in] | hit | generic hit |
| [out] | sel | list of specific detector idenfiers in the specific order |
Referenced by CbmRecoQaTask::TopoFilter::Accept(), CbmRecoQaTask::GetHitDetectorId< ECbmModuleId::kRich >(), CbmRecoQaTask::GetHitDetectorId< ECbmModuleId::kSts >(), CbmRecoQaTask::GetHitDetectorId< ECbmModuleId::kTof >(), CbmRecoQaTask::GetHitDetectorId< ECbmModuleId::kTrd >(), CbmRecoQaTask::TopoFilter::Accept< ECbmModuleId::kTrd >(), and CbmRecoQaTask::View::HasAddress().
|
private |
count views types registered with the task
Definition at line 1140 of file CbmRecoQaTask.cxx.
Referenced by Init().
| std::vector< TString > CbmRecoQaTask::GetPath | ( | TGeoNode * | node, |
| TString | detector, | ||
| TString | activeNodeName, | ||
| int | depth = 0, | ||
| const TString & | path = "" ) |
Definition at line 1266 of file CbmRecoQaTask.cxx.
References GetPath().
Referenced by GetPath(), InitDefault(), and InitMcbm22().
|
virtual |
Perform initialization of data sources and projections.
Definition at line 167 of file CbmRecoQaTask.cxx.
References cbm_mc_manager, fClusters, fDetQa, fEvents, fFilterEv, fFilterTrk, fFitter, fGTracks, fHitMatch, fHits, fOutFolder, fPoints, fPrjPlanes, fSetupClass, fTrackMatches, fTracks, fuRecoConfig, fViews, GetNviews(), InitDefault(), InitMcbm22(), InitMcbm24(), InitMcbm25(), IsActive(), kDefault, kMcbm22, kMcbm24, kMcbm25, kMuch, kMuchHits, kNtrkProjections, kPV, kPVmult, kPVxsx, kPVxy, kPVxz, kPVysy, kPVyz, kPVzsz, kRecoEvents, kRecoTracks, kRef, kRich, kRichHits, kSts, kStsHits, kTof, kTofHits, kTrd, kTrdHits, kTrkProj, kUnknown, kUseMC, kUseSts, kUseTof, kUseTrd, kXYt0, and cbm::util::ToString().
|
private |
Definition at line 1716 of file CbmRecoQaTask.cxx.
References AddDetector(), GetGeoTagForDetector(), GetPath(), CbmSetup::Instance(), CbmSetup::IsActive(), kDefault, kRich, kSts, kTof, kTrd, and v.
Referenced by Init().
|
private |
build QA plots for particular setups
Definition at line 1297 of file CbmRecoQaTask.cxx.
References AddDetector(), fFitter, fPrjPlanes, fuRecoConfig, GetGeoTagForDetector(), GetPath(), CbmSetup::Instance(), CbmSetup::IsActive(), kChdT, kResidualX, kResidualY, kSts, kTof, kTrd, kUseMC, kXdX, kXdXMC, kYdY, kYdYMC, and v.
Referenced by Init().
|
private |
Definition at line 1447 of file CbmRecoQaTask.cxx.
References AddDetector(), fFitter, fPrjPlanes, CbmSetup::Instance(), CbmSetup::IsActive(), kChdT, kRich, kSts, kTof, kTrd, kXdX, kXdXT, kYdY, kYdYT, and v.
Referenced by Init().
|
private |
Definition at line 1582 of file CbmRecoQaTask.cxx.
References AddDetector(), fFitter, fPrjPlanes, fuRecoConfig, CbmSetup::Instance(), CbmSetup::IsActive(), kChdT, kDebug0, kDebug1, kResidualX, kResidualY, kSts, kTof, kTrd, kUseMC, kXdX, kXdXMC, kXdXT, kYdY, kYdYMC, kYdYT, and v.
Referenced by Init().
|
inlineprotected |
Definition at line 353 of file CbmRecoQaTask.h.
References fuRecoConfig.
|
private |
Definition at line 114 of file CbmRecoQaTask.cxx.
|
private |
Definition at line 114 of file CbmRecoQaTask.cxx.
|
private |
Definition at line 114 of file CbmRecoQaTask.cxx.
|
private |
Definition at line 114 of file CbmRecoQaTask.cxx.
|
private |
|
private |
References CbmRecoQaTask().
|
inline |
Define the set of extra z positions where the track should be projected in the x-y plane.
Definition at line 342 of file CbmRecoQaTask.h.
References fSetupClass.
|
inline |
Definition at line 346 of file CbmRecoQaTask.h.
References fuRecoConfig, and kUseMC.
|
private |
Definition at line 408 of file CbmRecoQaTask.h.
Referenced by Init().
|
private |
|
private |
Definition at line 411 of file CbmRecoQaTask.h.
Referenced by AddDetector(), Exec(), GetDetector(), and Init().
|
private |
MC info for the global tracks.
Definition at line 400 of file CbmRecoQaTask.h.
|
private |
reconstructed hits
Definition at line 406 of file CbmRecoQaTask.h.
Referenced by AddEventFilter(), FilterEvent(), and Init().
|
private |
Definition at line 407 of file CbmRecoQaTask.h.
Referenced by AddTrackFilter(), FilterHit(), FilterTrack(), FilterTrack(), and Init().
|
private |
Definition at line 396 of file CbmRecoQaTask.h.
Referenced by Exec(), Init(), InitMcbm22(), InitMcbm24(), and InitMcbm25().
|
private |
Definition at line 397 of file CbmRecoQaTask.h.
|
private |
|
private |
|
private |
Definition at line 409 of file CbmRecoQaTask.h.
|
private |
reconstructed Clusters
Definition at line 404 of file CbmRecoQaTask.h.
|
private |
list of QA views
Definition at line 413 of file CbmRecoQaTask.h.
Referenced by Exec(), Init(), InitMcbm22(), InitMcbm24(), and InitMcbm25().
|
private |
Definition at line 410 of file CbmRecoQaTask.h.
Referenced by Init(), and SetSetupClass().
|
private |
reconstructed events
Definition at line 401 of file CbmRecoQaTask.h.
|
private |
reconstructed global tracks / event
Definition at line 399 of file CbmRecoQaTask.h.
Referenced by Init().
|
private |
reconstructed global tracks / event
Definition at line 398 of file CbmRecoQaTask.h.
Referenced by Init().
|
staticprotected |
Definition at line 47 of file CbmRecoQaTask.h.
Referenced by Activate(), CbmRecoQaTask(), Exec(), Init(), InitMcbm22(), InitMcbm25(), IsActive(), CbmRecoQaTask::View::Register(), and UseMC().
|
private |
list of detector QA
Definition at line 412 of file CbmRecoQaTask.h.
Referenced by Exec(), GetNviews(), and Init().
|
staticconstexpr |
Define the identifiers of the sensors from each tracking layer of the setup to be considered in the projections. The list is composed of groups of 3 int identifiers, specific for each system. If a tracking layer is not mentioned it is assumed as no cut (all). The interpretation of the 3 identifiers for each CBM system :
Definition at line 212 of file CbmRecoQaTask.h.
|
staticconstexpr |
Definition at line 213 of file CbmRecoQaTask.h.
Referenced by CbmRecoQaTask::TrackFilter::AddTopoCut().
|
staticconstexpr |
Definition at line 214 of file CbmRecoQaTask.h.
Referenced by CbmRecoQaTask::TrackFilter::AddTopoCut().
|
staticconstexpr |
Definition at line 215 of file CbmRecoQaTask.h.
Referenced by CbmRecoQaTask::TrackFilter::AddTopoCut(), and CbmRecoQaTask::TopoFilter::Accept< ECbmModuleId::kTrd >().