Skip to content
Snippets Groups Projects
Commit ec42204c authored by Sergei Zharko's avatar Sergei Zharko Committed by Sergei Zharko
Browse files

mCBM: Adding PV finder into reconstruction

parent a9851dd7
No related branches found
No related tags found
1 merge request!1360PV finder from global tracks in mCBM
......@@ -393,6 +393,16 @@ void mcbm_reco_event(Int_t nEvents = 10, TString dataset = "data/test",
run->AddTask(globalFindTracks);
//run->AddTask(new CbmKfFitTracksTask(CbmKfFitTracksTask::FitMode::kMcbm));
// Primary vertex finder from global tracks
auto* pvFinder = new CbmPVFinderKF();
pvFinder->SetSourceTrackType(CbmPVFinderKF::ESourceTrackType::kGlobalTrack);
CbmFindPrimaryVertex* findVertex = new CbmFindPrimaryVertex(pvFinder);
run->AddTask(findVertex);
if (debugWithMC) { // match tracks
CbmMatchRecoToMC* match2 = new CbmMatchRecoToMC();
run->AddTask(match2);
}
// ----- Parameter database --------------------------------------------
std::cout << std::endl << std::endl;
......
......@@ -32,18 +32,36 @@ class CbmKFTrack : public CbmKFTrackInterface {
public:
std::vector<CbmKFHit*> fHits;
/// \brief Default constructor
CbmKFTrack();
/// \brief Destructor
~CbmKFTrack() {}
/// \brief Constructor from the CbmKFTrackInterface
/// \param track Reference to the CbmKFTrackInterface
CbmKFTrack(CbmKFTrackInterface& track) : fMass(0), fChi2(0), fIsElectron(0), fNDF(0), fHits() { SetTrack(track); }
/// \brief Constructor from the FairTrackParam
/// \param track Reference to the FairTrackParam instance
CbmKFTrack(FairTrackParam& track) : fMass(0), fChi2(0), fIsElectron(0), fNDF(0), fHits() { SetTrackParam(track); }
/// \brief Constructor from the CbmStsTrack
/// \param track Reference to the CbmStsTrack instance
/// \param first true: parameters in the first hit, false: parameters in the last hit
CbmKFTrack(CbmStsTrack& track, bool first = 1) : fMass(0), fChi2(0), fIsElectron(0), fNDF(0), fHits()
{
SetStsTrack(track, first);
}
/// \brief Constructor from the CbmGlobalTrack
/// \param track Reference to the CbmGlobalTrack instance
/// \param first true: parameters in the first hit, false: parameters in the last hit
CbmKFTrack(CbmGlobalTrack& track, bool first = 1) : fMass(0), fChi2(0), fIsElectron(0), fNDF(0), fHits()
{
SetGlobalTrack(track, first);
}
void SetTrack(CbmKFTrackInterface& track);
void SetTrackParam(const FairTrackParam& track);
void SetStsTrack(CbmStsTrack& track, bool first = 1);
......
/* Copyright (C) 2006-2016 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Sergey Gorbunov, Denis Bertini [committer], Volker Friese */
/** CbmPVFinderKF
*@author S.Gorbunov
**
**/
Authors: Sergey Gorbunov, Denis Bertini [committer], Volker Friese, Sergei Zharko */
/// \file CbmPVFinderKF.h
/// \author S.Gorbunov
#ifndef CBMKFPVFINDERKF_H
#define CBMKFPVFINDERKF_H 1
#include "CbmPrimaryVertexFinder.h"
/// \class CbmPVFinderKF
/// \brief Implementation of the primary vertex finder using KF utility
///
class CbmPVFinderKF : public CbmPrimaryVertexFinder {
public:
/** Default constructor **/
CbmPVFinderKF(){};
/// \brief Track type for PV recnostruction
enum ESourceTrackType {
kStsTrack = 0,
kGlobalTrack = 1
};
/// \brief Default constructor
CbmPVFinderKF() {};
/** Destructor **/
~CbmPVFinderKF(){};
/// \brief Destructior
~CbmPVFinderKF() {};
/** Execution of PV finding.
*@param tracks TClonesArray of CbmStsTracks
*@param vertex Primary vertex (output)
*@param event Pointer to event object
**/
/// \brief Execution of PV finding.
/// \param tracks TClonesArray of CbmStsTracks
/// \param vertex Primary vertex (output)
/// \param event Pointer to event object
virtual Int_t FindPrimaryVertex(TClonesArray* tracks, CbmVertex* vertex);
/** Execution of PV finding.
** @param event Pointer to event object
** @param tracks TClonesArray of CbmStsTracks
**/
/// \brief Execution of PV finding.
/// \param event Pointer to event object
/// \param tracks TClonesArray of CbmStsTracks
virtual Int_t FindEventVertex(CbmEvent* event, TClonesArray* tracks);
/// \brief Sets source track type for the primary vertex reconstruction
void SetSourceTrackType(ESourceTrackType type) { fTrackType = type; }
private:
ESourceTrackType fTrackType = kStsTrack;
ClassDef(CbmPVFinderKF, 1);
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment