BmnRoot 26.10.0-210-gc52d34b0
Software framework of the BM@N experiment
Loading...
Searching...
No Matches
BmnLambdaEmbeddingQa.h
Go to the documentation of this file.
1#ifndef BMNEMBQA_H
2#define BMNEMBQA_H 1
3
5
6#include <BmnEventHeader.h>
7#include <BmnGemStripHit.h>
9#include <BmnGlobalTrack.h>
11#include <BmnKalmanFilter.h>
13#include <BmnLambdaMisc.h>
14#include <BmnNewFieldMap.h>
15#include <BmnSiliconHit.h>
17#include <BmnStripDigit.h>
18#include <CbmMCTrack.h>
19#include <CbmStsPoint.h>
20#include <DstEventHeader.h>
21#include <FairMCPoint.h>
22#include <FairRunAna.h>
23#include <FairTrackParam.h>
24#include <TBox.h>
25#include <TCanvas.h>
26#include <TChain.h>
27#include <TClonesArray.h>
28#include <TColor.h>
29#include <TGeoManager.h>
30#include <TH2.h>
31#include <TLegend.h>
32#include <TMarker.h>
33#include <TNamed.h>
34#include <TPolyLine.h>
35#include <TProfile.h>
36#include <TProfile2D.h>
37#include <TString.h>
38#include <TStyle.h>
39#include <TSystem.h>
40#include <UniRun.h>
41#include <fstream>
42#include <iostream>
43
44using namespace std;
45
47{
50};
51
53{
54 public:
57
58 virtual ~BmnLambdaEmbeddingQa();
59
60 // Types of analysis available ...
61 void DoDigiAnalysis();
62 void DoEffAnalysis();
63
64 void DoDrawEventsWithEmbeddedSignals(); // Draw events with embedded hits from Lambda decay products
65 // void DoInnerTrackerEmbeddingEfficiency(); // Calculate efficiency of embedding
66 void DoInnerTrackerRecoEfficiency(); // Calculate some params. showing hit reconstruction and tracking efficiency
67
69
70 // Setting prefix name if needed ...
71 void SetPrefixName(TString name) { fPrefix = name; }
72
73 void ShowLays(Int_t lay1, Int_t lay2)
74 {
75 aLaysToShow[0] = lay1;
76 aLaysToShow[1] = lay2;
77 }
78
80 {
81 Int_t idx = det.Contains("GEM") ? GEM : det.Contains("SILICON") ? SILICON : -1;
82 fSignalWindow[idx][0] = min;
83 fSignalWindow[idx][1] = max;
84 }
85
86 void DrawHistos6(
88 TClonesArray*); // Function to draw histos from BmnLambdaMisc::CheckStripOverlaps(), temporarily solution
89
90 private:
92
93 FairRunAna* fRunAna;
94
95 // Geometries
97
98 // Files
103
104 // Pointers to be addressed to corresponding objects if an analysis we do uses them
118
119 // Containers to be used for analysis
120 map<Int_t, Double_t> fSilGemZ; // <stat, Z-position map>
121 // Maps to store <stat, (xy)-coordinates> for GEM and SILICON (MC--> 0, RECO --> 1)
122 map<Int_t, vector<pair<Double_t, Double_t>>> gems[2];
123 map<Int_t, vector<pair<Double_t, Double_t>>> silicons[2];
124
125 // Histos to be shown
133
136
139
142
145
148
151
152 Int_t aLaysToShow[2]; // array of strips lays to be shown in histos
153
154 TH2F****
155 hStripChannel; // Strip vs. Chan for main part of big zone and common ADC [main, common][stat][Right or Left]
156
157 Double_t fSignalWindow[2][2]; // two detectors, two limits
158
159 // Options to be reset by user if necessary
161
162 private:
163 Bool_t wasReconstructed(BmnGlobalTrack*, Double_t fracLostOrWrongConnectedHits, Double_t momResCut);
165
166 // Int_t DefineSiliconStatByZpoint(Double_t);
167 // Int_t DefineSiliconModuleByStatAndXY(TBox***, Int_t, Double_t, Double_t);
168 void DrawFoundTracks();
169
170 // Int_t GetStripBoundValues(TString, Int_t&, Int_t&);
171
172 // Additional prefix, if necessary, in output file names...
174
175 void DrawHistos1(); // Histos taken from DoDrawEventsWithEmbeddedSignals-analysis
176 // void DrawHistos3(); // Histos taken from DoInnerTrackerRecoEfficiency-analysis
177
179
181};
182
183#endif
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
Definition P4_F32vec4.h:30
friend F32vec4 max(const F32vec4 &a, const F32vec4 &b)
Definition P4_F32vec4.h:31
bool Bool_t
int Int_t
double Double_t
#define ClassDef(name, id)
BmnGlobalTrack.h.
void ShowLays(Int_t lay1, Int_t lay2)
Bool_t wasReconstructed(BmnGlobalTrack *, Double_t fracLostOrWrongConnectedHits, Double_t momResCut)
BmnLambdaEmbeddingDrawHistos * histoMan
void DoDrawFoundTracks(Bool_t flag)
BmnInnerTrackerGeometryDraw * geoms
void SetPrefixName(TString name)
BmnLambdaEmbeddingMonitor * fMon
void DrawHistos6(TClonesArray *, TClonesArray *)
map< Int_t, Double_t > fSilGemZ
void SetSignalCuts(TString det, Double_t min, Double_t max)
map< Int_t, vector< pair< Double_t, Double_t > > > gems[2]
map< Int_t, vector< pair< Double_t, Double_t > > > silicons[2]
friend friend class TClonesArray
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const