CbmRoot
CbmMatchRecoToMC Class Reference

#include <CbmMatchRecoToMC.h>

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

Public Member Functions

 CbmMatchRecoToMC ()
 Constructor. More...
 
virtual ~CbmMatchRecoToMC ()
 Destructor. More...
 
virtual InitStatus Init ()
 Derived from FairTask. More...
 
virtual void Exec (Option_t *opt)
 Derived from FairTask. More...
 
virtual void Finish ()
 Derived from FairTask. More...
 
void SetIncludeMvdHitsInStsTrack (Bool_t includeMvdHitsInStsTrack)
 

Static Public Member Functions

static std::vector< std::pair< Int_t, Int_t > > GetMcTrackMotherIdsForRichHit (CbmDigiManager *digiMan, const CbmRichHit *hit, CbmMCDataArray *richPoints, CbmMCDataArray *mcTracks, Int_t eventNumber)
 Return McTrack Ids for RICH hit C++11 efficient way to return vector. More...
 
static std::vector< Int_t > GetMcTrackMotherIdsForRichHit (CbmDigiManager *digiMan, const CbmRichHit *hit, const TClonesArray *richPoints, const TClonesArray *mcTracks)
 

Private Member Functions

void ReadAndCreateDataBranches ()
 Read and create data branches. More...
 
void MatchClusters (const TClonesArray *digiMatches, const TClonesArray *clusters, TClonesArray *clusterMatches)
 Generic creation of cluster match objects. More...
 
void MatchClusters (ECbmModuleId systemId, const TClonesArray *clusters, TClonesArray *clusterMatches)
 Generic creation of cluster match objects, using CbmDigiManager. More...
 
void MatchHits (const TClonesArray *matches, const TClonesArray *hits, TClonesArray *hitMatches)
 
void MatchHitsSts (const TClonesArray *clusterMmatches, const TClonesArray *hits, TClonesArray *hitMatches)
 Match STS hits, using cluster match objects. More...
 
void MatchHitsMvd (const TClonesArray *hits, TClonesArray *hitMatches)
 
void MatchHitsTof (const TClonesArray *HitDigiMatches, const TClonesArray *hits, TClonesArray *hitMatches)
 
void MatchHitsToPoints (CbmMCDataArray *points, const TClonesArray *hits, TClonesArray *hitMatches)
 
void MatchTracks (const TClonesArray *hitMatches, CbmMCDataArray *points, const TClonesArray *tracks, TClonesArray *trackMatches)
 
void MatchStsTracks (const TClonesArray *mvdHitMatches, const TClonesArray *stsHitMatches, CbmMCDataArray *mvdPoints, CbmMCDataArray *stsPoints, const TClonesArray *tracks, TClonesArray *trackMatches)
 
void MatchRichRings (const TClonesArray *richRings, const TClonesArray *richHits, CbmMCDataArray *richMcPoints, CbmMCDataArray *mcTracks, TClonesArray *ringMatches)
 
 CbmMatchRecoToMC (const CbmMatchRecoToMC &)
 Match Hit -> MC point [out]. More...
 
CbmMatchRecoToMCoperator= (const CbmMatchRecoToMC &)
 
 ClassDef (CbmMatchRecoToMC, 1)
 

Private Attributes

Bool_t fIncludeMvdHitsInStsTrack = kFALSE
 
Bool_t fbDigiExpUsed = kTRUE
 
CbmMCDataArrayfMCTracks = nullptr
 
CbmDigiManagerfDigiManager = nullptr
 Monte-Carlo tracks. More...
 
CbmMCDataArrayfMvdPoints = nullptr
 Interface to digi branches. More...
 
TClonesArray * fMvdCluster = nullptr
 MC points [in]. More...
 
TClonesArray * fMvdHits = nullptr
 Clusters [in]. More...
 
TClonesArray * fMvdClusterMatches = nullptr
 Hits [in]. More...
 
TClonesArray * fMvdHitMatches = nullptr
 Cluster matches [out]. More...
 
CbmMCDataArrayfStsPoints = nullptr
 Hit matches [out]. More...
 
TClonesArray * fStsClusters = nullptr
 MC points [in]. More...
 
TClonesArray * fStsHits = nullptr
 Clusters [in]. More...
 
TClonesArray * fStsTracks = nullptr
 Hits [in]. More...
 
TClonesArray * fStsClusterMatches = nullptr
 Tracks [in]. More...
 
TClonesArray * fStsHitMatches = nullptr
 Cluster matches [out]. More...
 
TClonesArray * fStsTrackMatches = nullptr
 Hit matches [out]. More...
 
CbmMCDataArrayfRichMcPoints = nullptr
 Track matches [out]. More...
 
TClonesArray * fRichHits = nullptr
 MC points [in]. More...
 
TClonesArray * fRichRings = nullptr
 Hits [in]. More...
 
TClonesArray * fRichTrackMatches = nullptr
 Rings [in]. More...
 
CbmMCDataArrayfMuchPoints = nullptr
 [out] More...
 
TClonesArray * fMuchClusters = nullptr
 MC points [in]. More...
 
TClonesArray * fMuchPixelHits = nullptr
 Clusters [in]. More...
 
TClonesArray * fMuchTracks = nullptr
 Hits [in]. More...
 
TClonesArray * fMuchClusterMatches = nullptr
 Tracks [in]. More...
 
TClonesArray * fMuchPixelHitMatches = nullptr
 Cluster matches [out]. More...
 
TClonesArray * fMuchTrackMatches = nullptr
 Hit matches [out]. More...
 
CbmMCDataArrayfTrdPoints = nullptr
 Track matches [out]. More...
 
TClonesArray * fTrdClusters = nullptr
 MC points [in]. More...
 
TClonesArray * fTrdHits = nullptr
 Clusters [in]. More...
 
TClonesArray * fTrdTracks = nullptr
 Hits [in]. More...
 
TClonesArray * fTrdClusterMatches = nullptr
 Tracks [in]. More...
 
TClonesArray * fTrdHitMatches = nullptr
 Cluster matches [out]. More...
 
TClonesArray * fTrdTrackMatches = nullptr
 Hit matches [out]. More...
 
CbmMCDataArrayfTofPoints = nullptr
 Track matches [out]. More...
 
TClonesArray * fTofHits = nullptr
 CbmTofPoint array. More...
 
TClonesArray * fTofHitDigiMatches = nullptr
 CbmTofHit array. More...
 
TClonesArray * fTofHitMatches = nullptr
 Match Hit -> Digi [out]. More...
 

Static Private Attributes

static Int_t fEventNumber = 0
 

Detailed Description

Definition at line 26 of file CbmMatchRecoToMC.h.

Constructor & Destructor Documentation

◆ CbmMatchRecoToMC() [1/2]

CbmMatchRecoToMC::CbmMatchRecoToMC ( )

Constructor.

Definition at line 45 of file CbmMatchRecoToMC.cxx.

◆ ~CbmMatchRecoToMC()

◆ CbmMatchRecoToMC() [2/2]

CbmMatchRecoToMC::CbmMatchRecoToMC ( const CbmMatchRecoToMC )
private

Match Hit -> MC point [out].

Member Function Documentation

◆ ClassDef()

CbmMatchRecoToMC::ClassDef ( CbmMatchRecoToMC  ,
 
)
private

◆ Exec()

◆ Finish()

void CbmMatchRecoToMC::Finish ( )
virtual

Derived from FairTask.

Definition at line 191 of file CbmMatchRecoToMC.cxx.

◆ GetMcTrackMotherIdsForRichHit() [1/2]

vector< pair< Int_t, Int_t > > CbmMatchRecoToMC::GetMcTrackMotherIdsForRichHit ( CbmDigiManager digiMan,
const CbmRichHit hit,
CbmMCDataArray richPoints,
CbmMCDataArray mcTracks,
Int_t  eventNumber 
)
static

◆ GetMcTrackMotherIdsForRichHit() [2/2]

vector< Int_t > CbmMatchRecoToMC::GetMcTrackMotherIdsForRichHit ( CbmDigiManager digiMan,
const CbmRichHit hit,
const TClonesArray *  richPoints,
const TClonesArray *  mcTracks 
)
static

◆ Init()

InitStatus CbmMatchRecoToMC::Init ( )
virtual

Derived from FairTask.

Definition at line 112 of file CbmMatchRecoToMC.cxx.

References ReadAndCreateDataBranches().

◆ MatchClusters() [1/2]

void CbmMatchRecoToMC::MatchClusters ( const TClonesArray *  digiMatches,
const TClonesArray *  clusters,
TClonesArray *  clusterMatches 
)
private

Generic creation of cluster match objects.

Parameters
digiMatchesArray of match objects for digis
clustersArrays of clusters
clusterMatchesArray of match objects for clusters

The cluster match objects are created by summing up the match objects of all digis belonging to the cluster.

Definition at line 412 of file CbmMatchRecoToMC.cxx.

References CbmMatch::AddLinks(), CbmCluster::GetDigi(), and CbmCluster::GetNofDigis().

Referenced by Exec().

◆ MatchClusters() [2/2]

void CbmMatchRecoToMC::MatchClusters ( ECbmModuleId  systemId,
const TClonesArray *  clusters,
TClonesArray *  clusterMatches 
)
private

Generic creation of cluster match objects, using CbmDigiManager.

Parameters
clustersArrays of clusters
clusterMatchesArray of match objects for clusters

The cluster match objects are created by summing up the match objects of all digis belonging to the cluster.

Definition at line 429 of file CbmMatchRecoToMC.cxx.

References CbmMatch::AddLinks(), fDigiManager, CbmCluster::GetDigi(), CbmDigiManager::GetMatch(), CbmCluster::GetNofDigis(), and CbmDigiManager::IsMatchPresent().

◆ MatchHits()

void CbmMatchRecoToMC::MatchHits ( const TClonesArray *  matches,
const TClonesArray *  hits,
TClonesArray *  hitMatches 
)
private

Definition at line 447 of file CbmMatchRecoToMC.cxx.

References CbmMatch::AddLinks(), CbmHit::GetRefId(), and hits.

Referenced by Exec().

◆ MatchHitsMvd()

void CbmMatchRecoToMC::MatchHitsMvd ( const TClonesArray *  hits,
TClonesArray *  hitMatches 
)
private

◆ MatchHitsSts()

void CbmMatchRecoToMC::MatchHitsSts ( const TClonesArray *  clusterMmatches,
const TClonesArray *  hits,
TClonesArray *  hitMatches 
)
private

Match STS hits, using cluster match objects.

Parameters
clusterMatchesTClonesArray with cluster matches
hitsTClonesArray with CbmStsHit
hitMatchesTClonesArray with hit matches (to be filled)

Since a StsHit is constructed from two StsClusters (from front and back side of a sensor), its match object must also be constructed from the two match objects corresponding to the clusters. This makes it different from the method MatchHits, which just copies the cluster match object to the hit match object.

Definition at line 461 of file CbmMatchRecoToMC.cxx.

References CbmMatch::AddLinks(), CbmStsHit::GetBackClusterId(), CbmStsHit::GetFrontClusterId(), and hits.

Referenced by Exec().

◆ MatchHitsTof()

void CbmMatchRecoToMC::MatchHitsTof ( const TClonesArray *  HitDigiMatches,
const TClonesArray *  hits,
TClonesArray *  hitMatches 
)
private

◆ MatchHitsToPoints()

void CbmMatchRecoToMC::MatchHitsToPoints ( CbmMCDataArray points,
const TClonesArray *  hits,
TClonesArray *  hitMatches 
)
private

Definition at line 544 of file CbmMatchRecoToMC.cxx.

References CbmMatch::AddLink(), fEventNumber, CbmHit::GetRefId(), hits, and points.

Referenced by Exec().

◆ MatchRichRings()

void CbmMatchRecoToMC::MatchRichRings ( const TClonesArray *  richRings,
const TClonesArray *  richHits,
CbmMCDataArray richMcPoints,
CbmMCDataArray mcTracks,
TClonesArray *  ringMatches 
)
private

◆ MatchStsTracks()

◆ MatchTracks()

◆ operator=()

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

◆ ReadAndCreateDataBranches()

◆ SetIncludeMvdHitsInStsTrack()

void CbmMatchRecoToMC::SetIncludeMvdHitsInStsTrack ( Bool_t  includeMvdHitsInStsTrack)

Definition at line 107 of file CbmMatchRecoToMC.cxx.

References fIncludeMvdHitsInStsTrack.

Member Data Documentation

◆ fbDigiExpUsed

Bool_t CbmMatchRecoToMC::fbDigiExpUsed = kTRUE
private

Definition at line 157 of file CbmMatchRecoToMC.h.

◆ fDigiManager

CbmDigiManager* CbmMatchRecoToMC::fDigiManager = nullptr
private

Monte-Carlo tracks.

Definition at line 160 of file CbmMatchRecoToMC.h.

Referenced by MatchClusters(), MatchHitsMvd(), MatchHitsTof(), MatchRichRings(), and ReadAndCreateDataBranches().

◆ fEventNumber

Int_t CbmMatchRecoToMC::fEventNumber = 0
staticprivate

Definition at line 154 of file CbmMatchRecoToMC.h.

Referenced by Exec(), MatchHitsToPoints(), and MatchRichRings().

◆ fIncludeMvdHitsInStsTrack

Bool_t CbmMatchRecoToMC::fIncludeMvdHitsInStsTrack = kFALSE
private

Definition at line 156 of file CbmMatchRecoToMC.h.

Referenced by MatchStsTracks(), and SetIncludeMvdHitsInStsTrack().

◆ fMCTracks

CbmMCDataArray* CbmMatchRecoToMC::fMCTracks = nullptr
private

Definition at line 159 of file CbmMatchRecoToMC.h.

Referenced by Exec(), MatchStsTracks(), MatchTracks(), and ReadAndCreateDataBranches().

◆ fMuchClusterMatches

TClonesArray* CbmMatchRecoToMC::fMuchClusterMatches = nullptr
private

Tracks [in].

Definition at line 189 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fMuchClusters

TClonesArray* CbmMatchRecoToMC::fMuchClusters = nullptr
private

MC points [in].

Definition at line 186 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fMuchPixelHitMatches

TClonesArray* CbmMatchRecoToMC::fMuchPixelHitMatches = nullptr
private

Cluster matches [out].

Definition at line 190 of file CbmMatchRecoToMC.h.

Referenced by Exec(), MatchTracks(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fMuchPixelHits

TClonesArray* CbmMatchRecoToMC::fMuchPixelHits = nullptr
private

Clusters [in].

Definition at line 187 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fMuchPoints

CbmMCDataArray* CbmMatchRecoToMC::fMuchPoints = nullptr
private

[out]

Definition at line 185 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fMuchTrackMatches

TClonesArray* CbmMatchRecoToMC::fMuchTrackMatches = nullptr
private

Hit matches [out].

Definition at line 191 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fMuchTracks

TClonesArray* CbmMatchRecoToMC::fMuchTracks = nullptr
private

Hits [in].

Definition at line 188 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fMvdCluster

TClonesArray* CbmMatchRecoToMC::fMvdCluster = nullptr
private

MC points [in].

Definition at line 164 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fMvdClusterMatches

TClonesArray* CbmMatchRecoToMC::fMvdClusterMatches = nullptr
private

Hits [in].

Definition at line 166 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fMvdHitMatches

TClonesArray* CbmMatchRecoToMC::fMvdHitMatches = nullptr
private

Cluster matches [out].

Definition at line 167 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fMvdHits

TClonesArray* CbmMatchRecoToMC::fMvdHits = nullptr
private

Clusters [in].

Definition at line 165 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fMvdPoints

CbmMCDataArray* CbmMatchRecoToMC::fMvdPoints = nullptr
private

Interface to digi branches.

Definition at line 163 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fRichHits

TClonesArray* CbmMatchRecoToMC::fRichHits = nullptr
private

MC points [in].

Definition at line 180 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fRichMcPoints

CbmMCDataArray* CbmMatchRecoToMC::fRichMcPoints = nullptr
private

Track matches [out].

Definition at line 179 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fRichRings

TClonesArray* CbmMatchRecoToMC::fRichRings = nullptr
private

Hits [in].

Definition at line 181 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fRichTrackMatches

TClonesArray* CbmMatchRecoToMC::fRichTrackMatches = nullptr
private

Rings [in].

Definition at line 182 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fStsClusterMatches

TClonesArray* CbmMatchRecoToMC::fStsClusterMatches = nullptr
private

Tracks [in].

Definition at line 174 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fStsClusters

TClonesArray* CbmMatchRecoToMC::fStsClusters = nullptr
private

MC points [in].

Definition at line 171 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fStsHitMatches

TClonesArray* CbmMatchRecoToMC::fStsHitMatches = nullptr
private

Cluster matches [out].

Definition at line 175 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fStsHits

TClonesArray* CbmMatchRecoToMC::fStsHits = nullptr
private

Clusters [in].

Definition at line 172 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fStsPoints

CbmMCDataArray* CbmMatchRecoToMC::fStsPoints = nullptr
private

Hit matches [out].

Definition at line 170 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fStsTrackMatches

TClonesArray* CbmMatchRecoToMC::fStsTrackMatches = nullptr
private

Hit matches [out].

Definition at line 176 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fStsTracks

TClonesArray* CbmMatchRecoToMC::fStsTracks = nullptr
private

Hits [in].

Definition at line 173 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fTofHitDigiMatches

TClonesArray* CbmMatchRecoToMC::fTofHitDigiMatches = nullptr
private

CbmTofHit array.

Definition at line 205 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fTofHitMatches

TClonesArray* CbmMatchRecoToMC::fTofHitMatches = nullptr
private

Match Hit -> Digi [out].

Definition at line 206 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fTofHits

TClonesArray* CbmMatchRecoToMC::fTofHits = nullptr
private

CbmTofPoint array.

Definition at line 204 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fTofPoints

CbmMCDataArray* CbmMatchRecoToMC::fTofPoints = nullptr
private

Track matches [out].

Definition at line 203 of file CbmMatchRecoToMC.h.

Referenced by ReadAndCreateDataBranches().

◆ fTrdClusterMatches

TClonesArray* CbmMatchRecoToMC::fTrdClusterMatches = nullptr
private

Tracks [in].

Definition at line 198 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fTrdClusters

TClonesArray* CbmMatchRecoToMC::fTrdClusters = nullptr
private

MC points [in].

Definition at line 195 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fTrdHitMatches

TClonesArray* CbmMatchRecoToMC::fTrdHitMatches = nullptr
private

Cluster matches [out].

Definition at line 199 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fTrdHits

TClonesArray* CbmMatchRecoToMC::fTrdHits = nullptr
private

Clusters [in].

Definition at line 196 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fTrdPoints

CbmMCDataArray* CbmMatchRecoToMC::fTrdPoints = nullptr
private

Track matches [out].

Definition at line 194 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().

◆ fTrdTrackMatches

TClonesArray* CbmMatchRecoToMC::fTrdTrackMatches = nullptr
private

Hit matches [out].

Definition at line 200 of file CbmMatchRecoToMC.h.

Referenced by Exec(), ReadAndCreateDataBranches(), and ~CbmMatchRecoToMC().

◆ fTrdTracks

TClonesArray* CbmMatchRecoToMC::fTrdTracks = nullptr
private

Hits [in].

Definition at line 197 of file CbmMatchRecoToMC.h.

Referenced by Exec(), and ReadAndCreateDataBranches().


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