BmnRoot 26.10.0-18-g4e3414f9
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
CbmKFParticlesFinderQA.h
Go to the documentation of this file.
1/*
2 *====================================================================
3 *
4 * CBM KF Track Quality
5 *
6 * Authors: M.Zyzak
7 *
8 * e-mail :
9 *
10 *====================================================================
11 *
12 * KF Particles Finder performance
13 *
14 *====================================================================
15 */
16
17#ifndef _CbmKFParticlesFinderQA_h_
18#define _CbmKFParticlesFinderQA_h_
19
21#include "CbmKFTrErrMCPoints.h"
22#include "FairTask.h"
23#include "KFMCParticle.h"
24#include "KFParticleMatch.h"
25
26#include <cstring>
27#include <map>
28#include <vector>
29
31class TClonesArray;
32class CbmVertex;
33class TDirectory;
34class TH1F;
35class TH2F;
36
38{
39 public:
41 Int_t iVerbose = 1,
42 int findParticlesMode = 1,
43 int perf = 3,
44 const char* name = "CbmKFParticlesFinderQA",
45 const char* title = "Cbm KF Particles Finder QA");
47
48 void SetOutFile(TString outname) { outfileName = outname; }
49 void SetEffFileName(TString effname) { fEfffileName = effname; }
50
53
54 virtual InitStatus ReInit();
55 virtual InitStatus Init();
56 void Exec(Option_t* option);
57 void Finish();
58
59 private:
60 void StsHitMatch();
61 void WriteHistos(TObject* obj);
62 void WriteHistosCurFile(TObject* obj);
63 void GetMCParticles();
66 void MatchParticles();
67 void PartEffPerformance();
69
70 // performance modes and definitions
72 const int fPerformance;
73 const int fMinNStations;
74 const float fMinRecoMom;
75 // CbmKFParticlesFinder object
77
78 vector<CbmKFTrErrMCPoints> fMCTrackPoints;
79 vector<KFMCParticle> vMCParticles; // MC particles
80 vector<KFMatchParticles> MCtoRParticleId; // array for match
81 vector<KFMatchParticles> RtoMCParticleId;
82 vector<bool> vIsBkgWithSamePDG;
83 // Arrays of points, tracks, etc
84
96
97 // output arrays of particles
98 TClonesArray* fRecParticles; // output array of KF Particles
99 TClonesArray* fMCParticles; // output array of MC Particles
100 TClonesArray* fMatchParticles; // output array of match objects
101
104
105 // Names of files
108
110
111 std::vector<int> vStsHitMatch;
112 std::vector<int> vStsPointMatch;
113 std::vector<int> vMvdPointMatch;
114 std::vector<int> vMCTrackMatch;
115
116 // efficiencies
119
120 // histos
121 static const int nFitQA = 16;
124
125 static const int nHistoPartParam = 13;
127 [nHistoPartParam]; // mass, p, pt, Y, decay length, c*tau, chi/ndf, prob, theta, phi, z
130 // TH1F *hPartParamCorrBG[CbmKFPartEfficiencies::nParticles][nHistoPartParam];
132 static const int nHistoPartParamQA = 3;
134 [nHistoPartParamQA * 2]; // residuals and pulls of these parameters
135
136 static const int nHistoPartParam2D = 1;
140 // TH2F *hPartParam2DCorrBG[CbmKFPartEfficiencies::nParticles][nHistoPartParam2D];
142
143 static const int nHistosPV = 6;
145
146 static const int nHistoMotherPdg = 17;
147 std::map<int, int> fMotherPdgToIndex;
149 int GetMotherPdgIndex(int pdg)
150 {
151 std::map<int, int>::iterator it;
152 it = fMotherPdgToIndex.find(pdg);
153 if (it != fMotherPdgToIndex.end())
154 return it->second;
155 else
156 return -1;
157 }
158
161
163
164 private:
167};
168
169#endif // _CbmKFParticlesFinderQA_h_
bool Bool_t
int Int_t
const char Option_t
#define ClassDef(name, id)
TH1F * hPartParam[CbmKFPartEfficiencies::nParticles][nHistoPartParam]
vector< KFMatchParticles > RtoMCParticleId
std::vector< int > vMvdPointMatch
TH2F * hPartParam2DSignal[CbmKFPartEfficiencies::nParticles][nHistoPartParam2D]
std::map< int, int > fMotherPdgToIndex
TH2F * hPartParam2DGhost[CbmKFPartEfficiencies::nParticles][nHistoPartParam2D]
void operator=(const CbmKFParticlesFinderQA &)
CbmKFPartEfficiencies fParteff
TH1F * hPartParamBG[CbmKFPartEfficiencies::nParticles][nHistoPartParam]
TH2F * hPartParam2D[CbmKFPartEfficiencies::nParticles][nHistoPartParam2D]
void SetEffFileName(TString effname)
vector< CbmKFTrErrMCPoints > fMCTrackPoints
vector< KFMCParticle > vMCParticles
TH1F * hFitQA[CbmKFPartEfficiencies::nParticles][nFitQA]
void SetOutFile(TString outname)
TH1F * hMotherPdg[nHistoMotherPdg]
void WriteHistosCurFile(TObject *obj)
std::vector< int > vStsPointMatch
void MatchParticles()
Procedure for match Reconstructed and MC Particles. Should be called before Performances.
void CheckMCParticleIsReconstructable(KFMCParticle &part)
TH1F * hPartParamGhost[CbmKFPartEfficiencies::nParticles][nHistoPartParam]
CbmKFParticlesFinder * fPF
TH1F * hPartParamQA[CbmKFPartEfficiencies::nParticles][nHistoPartParamQA *2]
vector< KFMatchParticles > MCtoRParticleId
CbmKFParticlesFinderQA(const CbmKFParticlesFinderQA &)
TH1F * hFitDaughtersQA[CbmKFPartEfficiencies::nParticles][nFitQA]
TH1F * hPartParamSignal[CbmKFPartEfficiencies::nParticles][nHistoPartParam]
CbmKFParticlesFinderQA(CbmKFParticlesFinder *pf=0, Int_t iVerbose=1, int findParticlesMode=1, int perf=3, const char *name="CbmKFParticlesFinderQA", const char *title="Cbm KF Particles Finder QA")
TH2F * hPartParam2DBG[CbmKFPartEfficiencies::nParticles][nHistoPartParam2D]
CbmVertex.h.
Definition CbmVertex.h:21