-
Sergey Gorbunov authoredSergey Gorbunov authored
CbmL1TrdTrackFinderSts.h 3.73 KiB
/* Copyright (C) 2006-2010 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
SPDX-License-Identifier: GPL-3.0-only
Authors: Denis Bertini [committer] */
// -----------------------------------------------------------------------
// ----- CbmL1TrdTrackFinderSts -----
// ----- Created 6/12/05 by D. Kresan -----
// -----------------------------------------------------------------------
#ifndef CBM_L1_TRD_TRACK_FINDER_STS
#define CBM_L1_TRD_TRACK_FINDER_STS
#include "CbmTrdTrack.h"
#include "CbmTrdTrackFinder.h"
#include <map>
#include <vector>
class TClonesArray;
class CbmTrdHit;
class CbmKFTrack;
class TH1F;
class TH2F;
class CbmL1TrdTrackFinderSts : public CbmTrdTrackFinder {
private:
CbmL1TrdTrackFinderSts(const CbmL1TrdTrackFinderSts&);
CbmL1TrdTrackFinderSts operator=(const CbmL1TrdTrackFinderSts&);
private:
Int_t fEvents; // Number of events processed
Int_t fVerbose; // Verbosity level
TClonesArray* fArrayTrdPoint; // Array of TRD points
TClonesArray* fArrayTrdHit; // Array of TRD hits
TClonesArray* fArrayStsTrack; // Array of STS tracks
TClonesArray* fArrayStsTrackM; // Array of STS tracks
TClonesArray* fArrayKFTrdHit; // Array of KF TRD hits
std::vector<CbmTrdTrack*> fvTrdTrack; // Working array of TRD tracks
TClonesArray* fArrayTrdTrack; // Output Array of TRD tracks
Int_t fPid; // PID assumption
Int_t fNoTrdStations; // Number of TRD stations
Int_t fNoTrdPerStation; // Number of TRD layers per station
Int_t fNoTrdHits[12]; // Number of TRD hits per station
Int_t fTrdHitIndex[12][10000]; // Indices of TRD hits per station
std::map<Int_t, Bool_t> fmapHitUsed; // Map from hit index to boolean flag
TH1F* fh_chi2hit; // Control histogramm
TH2F* fh_chi2hit_plane; // Control histogramm
TH2F* fh_resx_plane_true; // Control histogramm
TH2F* fh_resy_plane_true; // Control histogramm
TH2F* fh_resx_plane_fake; // Control histogramm
TH2F* fh_resy_plane_fake; // Control histogramm
TH2F* fh_resx_mom_true; // Control histogramm
TH2F* fh_resy_mom_true; // Control histogramm
TH2F* fh_pullx_plane_true; // Control histogramm
TH2F* fh_pully_plane_true; // Control histogramm
TH2F* fh_pullx_plane_fake; // Control histogramm
TH2F* fh_pully_plane_fake; // Control histogramm
std::map<Int_t, Bool_t> fLostTracks;
void CreateHistogramms();
void DataBranches();
void TrdLayout();
void SortTrdHits();
void Process();
void Sts2Trd(Double_t pmin, Double_t pmax, Double_t chi2min, Double_t chi2max);
void ProcessAllStations();
void MoveOut();
void ProcessStation(CbmTrdTrack* pTrack, const Int_t& station);
void UpdateTrack(Int_t station, CbmTrdTrack* track);