CbmRoot
Loading...
Searching...
No Matches
CbmStsEfficiency.h
Go to the documentation of this file.
1/* Copyright (C) 2023 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Dario Ramirez [committer] */
4
5#ifndef CBMSTSEFFICIENCY_H
6#define CBMSTSEFFICIENCY_H
7
9#include "CbmEvent.h"
10#include "CbmGlobalTrack.h"
11#include "CbmStsAnaBase.h"
12#include "CbmStsCluster.h"
13#include "CbmStsHit.h"
14#include "CbmStsTrack.h"
15#include "CbmStsUtils.h"
16#include "CbmTrack.h"
17
18#include <FairTask.h>
19
20#include <TClonesArray.h>
21#include <TVector3.h>
22
23#include <cstring>
24#include <map>
25#include <unordered_map>
26#include <unordered_set>
27
28struct Residual {
29 TVector3 mean;
30 TVector3 sigma;
32 Residual(TVector3 m, TVector3 s)
33 {
34 mean = m;
35 sigma = s;
36 }
37};
38
46class CbmStsEfficiency : public FairTask, public CbmStsAnaBase {
47 public:
48 CbmStsEfficiency() = default;
49 ~CbmStsEfficiency() = default;
50
52 CbmStsEfficiency(uint32_t);
53
55 CbmStsEfficiency(uint32_t, double, double, double);
56
57 InitStatus Init();
58 void Exec(Option_t*);
59 void FinishTask();
60
61 void SetSensorResidual(int32_t, TVector3, TVector3);
62 void SetResidual(std::string);
63
65
66 bool fDrawOpt{true};
67
68 private:
69 uint32_t fTestLayer{0};
70 std::vector<int32_t> fDUTList;
71 double fMaxDisTrgVtx{0.25};
72 double fMaxDCATrkVtx{0.25};
73 double fDefaultResidual{0.12};
74 std::map<int32_t, Residual> fResiduals;
75
76
78
79 std::vector<CbmGlobalTrack*> fGlbTrks;
80 std::map<int32_t, std::vector<CbmStsHit*>> fStsHits;
81
82 TClonesArray* fCbmEvtArray{nullptr};
83 TClonesArray* fGlbTrkArray{nullptr};
84 TClonesArray* fStsTrkArray{nullptr};
85 TClonesArray* fRchTrkArray{nullptr};
86 TClonesArray* fMchTrkArray{nullptr};
87 TClonesArray* fTrdTrkArray{nullptr};
88 TClonesArray* fTofTrkArray{nullptr};
89 TClonesArray* fStsHitArray{nullptr};
90 TClonesArray* fStsCluArray{nullptr};
91
92 void BookHistograms();
93
94 void Efficiency(uint32_t);
95
100
105
109 void ProcessHit(CbmStsHit*);
110
111 void CheckEfficiency();
112
114};
115#endif
Data class for STS clusters.
Data class for a reconstructed hit in the STS.
Data class for STS tracks.
Estimates a common vertex from multiple straight GlobalTracks.
Class characterising one event by a collection of links (indices) to data objects,...
Definition CbmEvent.h:34
CbmStsAnaBase()=default
void ProcessGlobalTrack(CbmGlobalTrack *)
Process an Global tracks It filters the tracks based on the provided CbmCutMap.
void Exec(Option_t *)
~CbmStsEfficiency()=default
TClonesArray * fRchTrkArray
void SetResidual(std::string)
void SetVertexFinder(CbmDcaVertexFinder *)
ClassDef(CbmStsEfficiency, 1)
TClonesArray * fCbmEvtArray
void ProcessEvent(CbmEvent *)
Process an Cbm events It filters event based on the provided CbmCutMap.
CbmDcaVertexFinder * fVertexFinder
std::vector< int32_t > fDUTList
void Efficiency(uint32_t)
TClonesArray * fStsCluArray
std::vector< CbmGlobalTrack * > fGlbTrks
CbmStsEfficiency()=default
TClonesArray * fStsTrkArray
TClonesArray * fGlbTrkArray
TClonesArray * fStsHitArray
std::map< int32_t, Residual > fResiduals
std::map< int32_t, std::vector< CbmStsHit * > > fStsHits
TClonesArray * fTrdTrkArray
void SetSensorResidual(int32_t, TVector3, TVector3)
void ProcessHit(CbmStsHit *)
Process an STS hit It filters hits based on the provided CbmCutMap.
TClonesArray * fMchTrkArray
TClonesArray * fTofTrkArray
data class for a reconstructed 3-d hit in the STS
Definition CbmStsHit.h:35
TVector3 mean
Residual(TVector3 m, TVector3 s)
TVector3 sigma