FEDRA emulsion software from the OPERA Collaboration
EdbPVRQuality.h
Go to the documentation of this file.
1#ifndef ROOT_EdbPVRQuality
2#define ROOT_EdbPVRQuality
3#include "TROOT.h"
4#include "TSystem.h"
5#include "TFile.h"
6#include "TF1.h"
7#include "TH2.h"
8#include "TProfile.h"
9#include "TVector3.h"
10#include "TIndexCell.h"
11#include "TArrayF.h"
12#include "TBenchmark.h"
13#include "TMultiLayerPerceptron.h"
14#include "TMLPAnalyzer.h"
15#include "TCanvas.h"
16#include "TSpectrum.h"
17#include "TPolyMarker.h"
18#include "TRandom3.h"
19
20#include "EdbVertex.h"
21#include "EdbPVRec.h"
22#include "EdbPhys.h"
23#include "EdbMath.h"
25#include "EdbLog.h"
26#include "EdbPattern.h"
27// #include "EdbShowerP.h"
28using namespace std;
37
38class EdbPVRQuality : public TObject {
39
40private:
41
42 // The source and target EdbPVRec objects:
45 EdbPVRec* eAli_pointer; // to be implermented: pointer to the
46 // desired eAli object: orig or modified TOODOO....
48 Bool_t eIsSource;
49 Bool_t eIsTarget;
52
53 // Variables related for calculation Issues
57
60
63
66
67 // Histograms for calculations and crosscheck drawings
68 // Are either filled per plate (FillHistosPattern)
69 // for the whole pattern (CheckEdbPVRec)
71 TH2F* eHistXY;
72 TH2F* eHistTXTY;
73 TH1F* eHistTT;
74 TH1F* eHistChi2;
75 TH1F* eHistW;
77
82 Float_t minX,maxX;
83 Float_t minY,maxY;
84
85 // TProfile: BT dens/mm2 versus PID() source histogram
89 // TProfile: BT dens/mm2 versus PID() target histogram
93 // TProfile: BT dens/mm2 versus PID() generic histogram
95
96 // Variables related for cut issues:
97
98 // For all eCutMethod in TanTheta Space:
99 // Global CutFactor ...
101 // Each TT bin gets its own reduction factor for each pattern seperately
103 Int_t eBinTT;
104 // Additional GlobalTTReductionFactorC in case the TT cutting still yields a too high BG density
106
107 // For the specific cut methods:
108 // eCutMethod == 0: Constant BT density
109 Float_t eCutp0[114];
110 Float_t eCutp1[114];
111 // eCutMethod == 1: Constant BT density also in tangens theta space
112 Float_t eCutTTp0[114][20];
113 Float_t eCutTTp1[114][20];
114 // eCutMethod == 2: Constant Chi2W quality
115 Float_t eCutDistChi2[114];
116 Float_t eCutDistW[114];
122 // eCutMethod == 3: Constant Chi2W quality also in tangens theta space
127 // eCutMethod == 4: Constant X2Hat BT density
128 Float_t eX2Hat;
129 Float_t eX2HatCut[114];
130 Float_t eXi2Hat_m_chi2[114];
131 Float_t eXi2Hat_s_chi2[114];
132 Float_t eXi2Hat_m_WTilde[114];
133 Float_t eXi2Hat_s_WTilde[114];
134 // eCutMethod == 5: Constant X2Hat BT density also in tangens theta space
135 // Uses also cutvariables eCutTTp0[114][20] and eCutTTp1[114][20]
136 Float_t eXi2HatTT_m_chi2[114][20];
137 Float_t eXi2HatTT_s_chi2[114][20];
138 Float_t eXi2HatTT_m_WTilde[114][20];
139 Float_t eXi2HatTT_s_WTilde[114][20];
140 // eCutMethod == 6: Random Cut
142 // eCutMethod == 7: Random Cut also in tangens theta space
143 // Uses also cutvariables eCutTTp0[114][20] and eCutTTp1[114][20]
144
145
146 // Arrays for each pattern where Source Basetracks, Recjected
147 // and Accepted Basetracks are stored.
148 // Up to now: refilled for each pattern new.
149 // Constructed in such a way that 10 (+2) bins
150 // cover the TT-space
151 TObjArray* eArrayPatternTTSource[12];
152 TObjArray* eArrayPatternTTRejected[12];
153 TObjArray* eArrayPatternTTAccepted[12];
154
178
179
180
181protected:
182
183 void Set0();
184 void Init();
185 void ResetHistos();
187
188public:
189
192 EdbPVRQuality(EdbPVRec* ali, Float_t BTDensityTargetLevel);
193 EdbPVRQuality(EdbPVRec* ali, Float_t BTDensityTargetLevel, Int_t BG_CutMethod);
194
195 void SetCutMethod(Int_t CutMethod);
196 inline void SetCutMethodIsDone(Int_t CutMethod) {
197 eCutMethodIsDone[CutMethod]=kTRUE;
198 }
199 inline void SetBTDensityLevel(Float_t BTDensityLevel) {
200 eBTDensityLevel=BTDensityLevel;
201 }
202 inline void SetCutTTSqueezeFactor(Float_t CutTTSqueezeFactor) {
203 eCutTTSqueezeFactor=CutTTSqueezeFactor;
204 }
205 inline Float_t GetCutTTSqueezeFactor() {
206 return eCutTTSqueezeFactor;
207 }
208
209 inline void SetCutTTReductionFactor(Int_t binTT,Float_t CutTTReductionFactor) {
210 eCutTTReductionFactor[binTT]=CutTTReductionFactor;
211 }
212 inline Float_t GetCutTTReductionFactor(Int_t binTT) {
213 return eCutTTReductionFactor[binTT];
214 }
215
216
217 inline void SetBTDensityLevelCalcMethodMC(Bool_t BTDensityLevelCalcMethodMC) {
218 eBTDensityLevelCalcMethodMC=BTDensityLevelCalcMethodMC;
219 }
220 inline void SetBTDensityLevelCalcMethodMCConfirmation(Int_t BTDensityLevelCalcMethodMCConfirmationNumber) {
221 eBTDensityLevelCalcMethodMCConfirmationNumber=BTDensityLevelCalcMethodMCConfirmationNumber;
222 }
225 }
228 }
229
230
231
234 }
235 inline EdbPVRec* GetEdbPVRec(Int_t EdbPVRecType) {
236 cout << "Inline EdbPVRecType= " << EdbPVRecType << endl;
237 if (EdbPVRecType==1) {
238 return eAli_modified;
239 }
240 else {
241 return eAli_orig;
242 }
243 }
244 inline EdbPVRec* GetEdbPVRec(Bool_t NeedModified) {
245 cout << "Inline EdbPVRecType= " << NeedModified << endl;
246 if (NeedModified==1) {
247 return eAli_modified;
248 }
249 else {
250 return eAli_orig;
251 }
252 }
253
255 return GetEdbPVRec(0);
256 }
258 return GetEdbPVRec(1);
259 }
261
262
263 inline void SetEdbPVRec(EdbPVRec* Ali_orig) {
264 eAli_orig=Ali_orig;
265 eIsSource=kTRUE;
266 eAli_maxNpatterns=Ali_orig->Npatterns();
267 if (eAli_maxNpatterns>57) cout << " This tells us not yet if we do have one/two brick reconstruction done. A possibility could also be that the dataset was read with microtracks. Further investigation is needed! (On todo list)." << endl;
268 if (eAli_maxNpatterns>114) {
269 cout << "WARNING EdbPVRQuality::SetEdbPVRec eAli_orig->Npatterns() = " << eAli_maxNpatterns << " is greater than possible basetrack data of two bricks. This class does (not yet) work with this large number of patterns. Set maximum patterns to 114 !!!" << endl;
271 }
272 }
273
274 inline TH2F* GetHistChi2W() {
275 return eHistWChi2;
276 }
277
278
279 inline TH1F* GetHistChi2() {
280 return eHistChi2;
281 }
282 inline TH1F* GetHistW() {
283 return eHistW;
284 }
285 inline TH1F* GetHistWTilde() {
286 return eHistWTilde;
287 }
288
289 inline TH2F* GetHistYX() {
290 return eHistXY;
291 }
292 inline TH1F* GetHistTT() {
293 return eHistTT;
294 }
295 inline TH2F* GetHistTYTX() {
296 return eHistTXTY;
297 }
298 inline TH1F* GetHistTTFillcheck() {
299 return eHistTTFillcheck;
300 }
301
302
303 inline Float_t GetBTDensity(Int_t patNR=-1) {
304 return GetBTDensity_orig(patNR);
305 }
306 inline Float_t GetBTDensity_orig(Int_t patNR=-1) {
307 if (patNR==-1) return eProfileBTdens_vs_PID_source_meanY;
308 return ePatternBTDensity_orig[patNR];
309 }
310 inline Float_t GetBTDensity_modified(Int_t patNR=-1) {
311 if (patNR==-1) return eProfileBTdens_vs_PID_target_meanY;
312 return ePatternBTDensity_modified[patNR];
313 }
314
315
316 inline Int_t GetCutMethod() {
317 return eCutMethod;
318 }
319 inline Bool_t GetCutMethodIsDone(Int_t type) {
320 if (type>7) return 0;
321 return eCutMethodIsDone[type];
322 }
323 inline Float_t GetBTDensityLevel() {
324 return eBTDensityLevel;
325 }
326
327 inline Float_t* GetCutp0() {
328 return eCutp0;
329 }
330 inline Float_t* GetCutp1() {
331 return eCutp1;
332 }
333 inline Float_t GetCutp0(Int_t patNR) {
334 return eCutp0[patNR];
335 }
336 inline Float_t GetCutp1(Int_t patNR) {
337 return eCutp1[patNR];
338 }
339
342 }
343 inline Float_t GetagreementChi2CutRMSChi2() {
345 }
346 inline Float_t GetagreementChi2CutMeanW() {
348 }
349 inline Float_t GetagreementChi2CutRMSW() {
351 }
352
353 inline Float_t* GetagreementChi2Cut() {
355 }
356 inline Float_t GetagreementChi2Cut(Int_t patNR) {
357 return eAgreementChi2WDistCut[patNR];
358 }
359
360 inline TObjArray* GetArrayAllExcludedSegments() {
362 }
363
364
365
366
368 void SetHistGeometry_MC();
372
373 void CheckEdbPVRec();
374 void CheckEdbPVRecThetaSpace(Int_t AliType);
375
376 void Execute();
377 void Execute(Int_t CutType);
384 void Execute_RandomCut();
391
392 TObjArray* FindFakeDoubleBTs(EdbPVRec* aliSource=NULL);
393 void FindHighDensityBTs();
394 void FindPassingBTs();
395 void FindEventRelatedBTs();
396
397 EdbPVRec* Remove_DoubleBT(EdbPVRec* aliSource);
398 EdbPVRec* Remove_Passing(EdbPVRec* aliSource);
399
400 // All these functions will call Remove_SegmentArray(..,..,..);
401 EdbPVRec* Remove_SegmentArray(TObjArray* segarray, EdbPVRec* aliSource=NULL, Int_t Option=0);
402 EdbPVRec* Remove_Segment(EdbSegP* seg, EdbPVRec* aliSource=NULL, Int_t Option=0);
403 EdbPVRec* Remove_TrackArray(TObjArray* trackArray, EdbPVRec* aliSource=NULL, Int_t Option=0);
404 EdbPVRec* Remove_Track(EdbTrackP* track, EdbPVRec* aliSource=NULL, Int_t Option=0);
406 TObjArray* TrackArrayToSegmentArray(TObjArray* trackArray);
407
408
409 // This function may be merged later with the CreateEdbPVRec(); function!!! to be done...
410 EdbPVRec* CreatePVRWithExcludedSegmentList(EdbPVRec* aliSource, TObjArray *SegmentArray);
412
413 TCanvas* GetQualityPlots(Int_t CountNr=0, Int_t aliSourceType=0);
414// TCanvas* GetQualityPlotsSingle(Int_t aliSourceType=0, Int_t Plottype=-1, Int_t CountNr=0);
415 TPad* GetQualityPlotsSingle(Int_t CountNr=0, Int_t aliSourceType=0, Int_t Plottype=-1);
416
417 EdbPVRec* ExtractDataVolume(EdbPVRec* pvr, EdbSegP* seg, Float_t tolerance[4]);
418
419
420 Int_t CheckFilledXYSize(TH2F* HistXY);
421
422 Int_t GetAngularSpaceBin(EdbSegP* seg);
423 Int_t FindFirstBinAbove(TH1* hist, Double_t threshold, Int_t axis);
424 Int_t FindLastBinAbove(TH1* hist, Double_t threshold, Int_t axis);
425 Int_t FindFirstBinAboveTH2(TH2* hist, Double_t threshold, Int_t axis);
426 Int_t FindLastBinAboveTH2(TH2* hist, Double_t threshold, Int_t axis);
427
429
430 Bool_t CheckSegmentQualityInPattern_ConstBTDens(EdbPVRec* ali, Int_t PatternAtNr, EdbSegP* seg);
431 Bool_t CheckSegmentQualityInPattern_ConstQual(EdbPVRec* ali, Int_t PatternAtNr, EdbSegP* seg);
432// Bool_t CheckSegmentQualityInPattern_ConstBTDensInAngularBins(EdbPVRec* ali, Int_t PatternAtNr, EdbSegP* seg);
434
435
436 Bool_t Chi2WRelation(EdbSegP* seg, Float_t Cutp0, Float_t Cutp1, Int_t qualitycuttype);
437 Bool_t X2HatCutRelation(EdbSegP* seg, Double_t CutValueX2Hat, Double_t CutValueX2Hat_Chi2Mean, Double_t CutValueX2Hat_Chi2Sigma, Double_t CutValueX2Hat_WTildeMean, Double_t CutValueX2Hat_WTildeSigma );
438
439
440
441 void FillTanThetaTArrays(Int_t patNR);
442 void DetermineCutTTReductionFactor(Int_t patNR);
443
444 void FillHistosPattern(EdbPVRec* aliSource, Int_t patNR=0, Bool_t DoResetHistos=kTRUE, Float_t weightXY=1);
445 void FillHistosVolume(EdbPVRec* aliSource);
446
447
449
450 void RebinTTHistogram(Int_t nbins=5);
451
452
453 void Cut();
454 void Cut_TTBin(Int_t TTbin);
457 void Cut_ConstantBTX2Hat();
458 void Cut_RandomCut();
459 void MergeTTSegments();
461 void MergeExclusionLists();
462
463 virtual ~EdbPVRQuality();
464
465 void Print();
466 void PrintBTDensities();
467 void PrintCutType();
468 void PrintCutType0();
469 void PrintCutType1();
470 void PrintCutType2();
471 void PrintCutType3();
472 void PrintCutType4();
473 void PrintCutType5();
474 void PrintCutType6();
475 void PrintCutType7();
476 void PrintCutValues(Int_t CutType);
477 void Help();
478
479 ClassDef(EdbPVRQuality,1); // Root Class Definition for EdbPVRQuality
480};
481
482//______________________________________________________________________________
483
484#endif /* EdbPVRQuality */
Root Class Definition for EdbPVRQuality.
Definition: EdbPVRQuality.h:38
Float_t eAgreementChi2CutMeanW
Definition: EdbPVRQuality.h:120
Float_t eBTDensityLevel
Definition: EdbPVRQuality.h:58
Int_t GetCutMethod()
Definition: EdbPVRQuality.h:316
TH1F * eHistTTFillcheck
Definition: EdbPVRQuality.h:78
void Execute_ConstantBTQualityInAngularBins()
Definition: EdbPVRQuality.cxx:2156
Bool_t CheckSegmentQualityInPattern_ConstQual(EdbPVRec *ali, Int_t PatternAtNr, EdbSegP *seg)
Definition: EdbPVRQuality.cxx:2464
EdbPVRec * GetEdbPVRec_modified()
Definition: EdbPVRQuality.h:257
void Execute_EqualizeTanThetaSpace_ConstantBTX2Hat()
Definition: EdbPVRQuality.cxx:3994
Int_t GetBTDensityLevelCalcMethodMCConfirmation()
Definition: EdbPVRQuality.h:226
TObjArray * FindFakeDoubleBTs(EdbPVRec *aliSource=NULL)
Definition: EdbPVRQuality.cxx:2808
Float_t eCutTTReductionFactor[12]
Definition: EdbPVRQuality.h:102
Float_t eXi2Hat_s_WTilde[114]
Definition: EdbPVRQuality.h:133
Float_t GetagreementChi2CutRMSW()
Definition: EdbPVRQuality.h:349
void FindEventRelatedBTs()
Definition: EdbPVRQuality.cxx:5573
Float_t eProfileBTdens_vs_PID_source_rmsX
Definition: EdbPVRQuality.h:88
void FillTanThetaTArrays(Int_t patNR)
Definition: EdbPVRQuality.cxx:4777
TH2F * eHistTXTY
Definition: EdbPVRQuality.h:72
void Execute_EqualizeTanThetaSpace_ConstantBTQuality()
Definition: EdbPVRQuality.cxx:3957
Int_t eAli_maxNpatterns
Definition: EdbPVRQuality.h:51
void Help()
Definition: EdbPVRQuality.cxx:2767
Float_t GetagreementChi2CutMeanW()
Definition: EdbPVRQuality.h:346
Float_t ePatternBTDensity_orig[114]
Definition: EdbPVRQuality.h:64
void SetBTDensityLevel(Float_t BTDensityLevel)
Definition: EdbPVRQuality.h:199
void CheckEdbPVRec()
Definition: EdbPVRQuality.cxx:452
Float_t eProfileBTdens_vs_PID_target_rmsY
Definition: EdbPVRQuality.h:92
TObjArray * eArrayPatternAllTTSource
should have same entries as the corresponding EdbPattern
Definition: EdbPVRQuality.h:155
void Execute_ConstantBTQuality()
Definition: EdbPVRQuality.cxx:1567
Float_t GetagreementChi2Cut(Int_t patNR)
Definition: EdbPVRQuality.h:356
Float_t eCutTTp1[114][20]
Definition: EdbPVRQuality.h:113
EdbPVRec * GetEdbPVRec(Bool_t NeedModified)
Definition: EdbPVRQuality.h:244
Int_t FindLastBinAbove(TH1 *hist, Double_t threshold, Int_t axis)
Definition: EdbPVRQuality.cxx:3509
void MergeExclusionLists()
Definition: EdbPVRQuality.cxx:5468
void RebinTTHistogram(Int_t nbins=5)
Definition: EdbPVRQuality.cxx:5613
void Execute_RandomCutInAngularBins()
Definition: EdbPVRQuality.cxx:2164
Float_t * GetagreementChi2Cut()
Definition: EdbPVRQuality.h:353
TProfile * eProfileBTdens_vs_PID_target
Definition: EdbPVRQuality.h:90
Int_t eHistGeometry
Definition: EdbPVRQuality.h:50
Int_t eCutMethod
Definition: EdbPVRQuality.h:54
Float_t GetBTDensity(Int_t patNR=-1)
Definition: EdbPVRQuality.h:303
TObjArray * eArrayPatternTTAccepted[12]
after specific cut, BTs here will be kept
Definition: EdbPVRQuality.h:153
EdbPVRec * CreatePVRWithExcludedSegmentList(EdbPVRec *aliSource, TObjArray *SegmentArray)
Definition: EdbPVRQuality.cxx:2971
TH2F * GetHistTYTX()
Definition: EdbPVRQuality.h:295
void PrintCutType0()
Constant BT density.
Definition: EdbPVRQuality.cxx:1141
void PrintCutType2()
Constant BT quality.
Definition: EdbPVRQuality.cxx:1226
Int_t eBinTT
Definition: EdbPVRQuality.h:103
virtual ~EdbPVRQuality()
virtual constructor due to inherited class
Definition: EdbPVRQuality.cxx:167
TH2F * eHistXY
Definition: EdbPVRQuality.h:71
Float_t eXi2Hat_m_chi2[114]
Definition: EdbPVRQuality.h:130
Float_t eProfileBTdens_vs_PID_source_meanY
Definition: EdbPVRQuality.h:87
TH1F * eHistW
Definition: EdbPVRQuality.h:75
EdbPVRec * Remove_SegmentArray(TObjArray *segarray, EdbPVRec *aliSource=NULL, Int_t Option=0)
Definition: EdbPVRQuality.cxx:3378
void Init()
Definition: EdbPVRQuality.cxx:318
EdbPVRec * eAli_pointer
Definition: EdbPVRQuality.h:45
TH1F * GetHistTT()
Definition: EdbPVRQuality.h:292
void PrintCutValues(Int_t CutType)
Definition: EdbPVRQuality.cxx:3677
TProfile * eProfileBTdens_vs_PID_source
Definition: EdbPVRQuality.h:86
Float_t eXi2HatTT_m_WTilde[114][20]
Definition: EdbPVRQuality.h:138
TH1F * eHistBTDensityVolume
Definition: EdbPVRQuality.h:80
void PrintCutType4()
Constant BT X2Hat.
Definition: EdbPVRQuality.cxx:1245
void Print()
Definition: EdbPVRQuality.cxx:1076
TH1F * GetHistWTilde()
Definition: EdbPVRQuality.h:285
TObjArray * eArrayPatternAllTTRejected
after specific cut, these BTs wont be taken
Definition: EdbPVRQuality.h:156
Int_t NbinsX
Definition: EdbPVRQuality.h:81
void SetCutTTSqueezeFactor(Float_t CutTTSqueezeFactor)
Definition: EdbPVRQuality.h:202
EdbPVRec * Remove_Segment(EdbSegP *seg, EdbPVRec *aliSource=NULL, Int_t Option=0)
Definition: EdbPVRQuality.cxx:3424
TCanvas * GetQualityPlots(Int_t CountNr=0, Int_t aliSourceType=0)
Definition: EdbPVRQuality.cxx:491
Float_t GetCutp0(Int_t patNR)
Definition: EdbPVRQuality.h:333
void Cut_ConstantBTQuality()
Definition: EdbPVRQuality.cxx:5248
Float_t maxY
Definition: EdbPVRQuality.h:83
void MergeTTSegments()
Definition: EdbPVRQuality.cxx:5389
Float_t eProfileBTdens_vs_PID_source_meanX
Definition: EdbPVRQuality.h:87
Bool_t GetCutMethodIsDone(Int_t type)
Definition: EdbPVRQuality.h:319
Float_t eAgreementChi2CutMeanChi2
Definition: EdbPVRQuality.h:118
EdbPVRec * eAli_modified
Definition: EdbPVRQuality.h:44
void SetBTDensityLevelCalcMethodMCConfirmation(Int_t BTDensityLevelCalcMethodMCConfirmationNumber)
Definition: EdbPVRQuality.h:220
void FindPassingBTs()
Definition: EdbPVRQuality.cxx:5563
Float_t minY
Definition: EdbPVRQuality.h:83
void PrintCutType3()
Constant BT quality in Angular Bins.
Definition: EdbPVRQuality.cxx:1236
Bool_t CheckSegmentQualityInPattern_ConstBTDens(EdbPVRec *ali, Int_t PatternAtNr, EdbSegP *seg)
Definition: EdbPVRQuality.cxx:2440
TObjArray * GetTracksFromLinkedTracksRootFile()
Definition: EdbPVRQuality.cxx:3618
Bool_t eIsTarget
Definition: EdbPVRQuality.h:49
Float_t * GetCutp1()
Definition: EdbPVRQuality.h:330
TH2F * eHistWChi2
Definition: EdbPVRQuality.h:70
EdbPVRec * GetEdbPVRec(Int_t EdbPVRecType)
Definition: EdbPVRQuality.h:235
Int_t eBTDensityLevelCalcMethodMCConfirmationNumber
Definition: EdbPVRQuality.h:62
void ResetHistos()
Definition: EdbPVRQuality.cxx:185
void Execute_EqualizeTanThetaSpace()
Definition: EdbPVRQuality.cxx:3710
void MergeHighDensBTsLists()
Definition: EdbPVRQuality.cxx:5444
void SetHistGeometry_OPERAandMC()
Definition: EdbPVRQuality.cxx:1011
Int_t FindFirstBinAbove(TH1 *hist, Double_t threshold, Int_t axis)
Definition: EdbPVRQuality.cxx:3485
Bool_t X2HatCutRelation(EdbSegP *seg, Double_t CutValueX2Hat, Double_t CutValueX2Hat_Chi2Mean, Double_t CutValueX2Hat_Chi2Sigma, Double_t CutValueX2Hat_WTildeMean, Double_t CutValueX2Hat_WTildeSigma)
Definition: EdbPVRQuality.cxx:5635
void PrintCutType1()
Constant BT density in Angular Bins.
Definition: EdbPVRQuality.cxx:1183
Float_t GetBTDensityLevel()
Definition: EdbPVRQuality.h:323
void Cut_TTBin(Int_t TTbin)
Definition: EdbPVRQuality.cxx:5108
TProfile * eProfileBTdens_vs_PID_generic
Definition: EdbPVRQuality.h:94
TPad * GetQualityPlotsSingle(Int_t CountNr=0, Int_t aliSourceType=0, Int_t Plottype=-1)
Definition: EdbPVRQuality.cxx:525
void Set0()
Definition: EdbPVRQuality.cxx:221
EdbPVRec * Remove_Track(EdbTrackP *track, EdbPVRec *aliSource=NULL, Int_t Option=0)
Definition: EdbPVRQuality.cxx:3438
void FindHighDensityBTs()
Definition: EdbPVRQuality.cxx:5544
Float_t maxX
Definition: EdbPVRQuality.h:82
void PrintCutType5()
Constant BT X2Hat in Angular Bins.
Definition: EdbPVRQuality.cxx:1288
TObjArray * eArrayPatternAllExcluded[4]
Definition: EdbPVRQuality.h:164
EdbPVRec * Remove_TrackArray(TObjArray *trackArray, EdbPVRec *aliSource=NULL, Int_t Option=0)
Definition: EdbPVRQuality.cxx:3410
Float_t eProfileBTdens_vs_PID_target_meanX
Definition: EdbPVRQuality.h:91
TH1F * eHistTT
Definition: EdbPVRQuality.h:73
TH1F * eHistBTDensityPattern
Definition: EdbPVRQuality.h:79
Bool_t eIsSource
Definition: EdbPVRQuality.h:48
Int_t CheckFilledXYSize(TH2F *HistXY)
Definition: EdbPVRQuality.cxx:2655
Bool_t eNeedModified
Definition: EdbPVRQuality.h:47
void SetHistGeometry_MC()
Definition: EdbPVRQuality.cxx:997
Float_t eCutTTp0[114][20]
Definition: EdbPVRQuality.h:112
EdbPVRec * eAli_orig
Definition: EdbPVRQuality.h:43
EdbPVRec * CreateEdbPVRec()
Definition: EdbPVRQuality.cxx:2482
void SetCutTTReductionFactor(Int_t binTT, Float_t CutTTReductionFactor)
Definition: EdbPVRQuality.h:209
Float_t GetBTDensity_orig(Int_t patNR=-1)
Definition: EdbPVRQuality.h:306
void PrintCutType()
Definition: EdbPVRQuality.cxx:1056
Float_t eCutp1[114]
Definition: EdbPVRQuality.h:110
void Execute_ConstantBTX2Hat()
Definition: EdbPVRQuality.cxx:1866
void Cut_RandomCut()
Definition: EdbPVRQuality.cxx:5364
EdbPVRec * GetEdbPVRec()
Definition: EdbPVRQuality.h:232
void DetermineCutTTReductionFactor(Int_t patNR)
Definition: EdbPVRQuality.cxx:4863
TObjArray * eArrayAllExcludedSegments
Definition: EdbPVRQuality.h:177
TObjArray * eArrayPatternTTRejected[12]
after specific cut, these BTs wont be taken
Definition: EdbPVRQuality.h:152
Float_t eAgreementChi2WDistCut[114]
Definition: EdbPVRQuality.h:117
void Execute_ConstantBTX2HatInAngularBins()
Definition: EdbPVRQuality.cxx:2146
TString eCutMethodString
Definition: EdbPVRQuality.h:55
Int_t GetAngularSpaceBin(EdbSegP *seg)
Definition: EdbPVRQuality.cxx:2392
TH2F * GetHistYX()
Definition: EdbPVRQuality.h:289
Float_t eBTDensityLevelAngularSpace[20]
Definition: EdbPVRQuality.h:59
Float_t eCutDistW[114]
Definition: EdbPVRQuality.h:116
TObjArray * TrackArrayToSegmentArray(TObjArray *trackArray)
Definition: EdbPVRQuality.cxx:3467
Float_t eXi2Hat_s_chi2[114]
Definition: EdbPVRQuality.h:131
Float_t eProfileBTdens_vs_PID_target_rmsX
Definition: EdbPVRQuality.h:92
void SetHistGeometry_OPERA()
Definition: EdbPVRQuality.cxx:983
Float_t eXi2Hat_m_WTilde[114]
Definition: EdbPVRQuality.h:132
void Execute_ConstantBTDensityInAngularBins()
Definition: EdbPVRQuality.cxx:1857
void ResetHistosSinglePattern()
Definition: EdbPVRQuality.cxx:203
Float_t eCutDistChi2[114]
Definition: EdbPVRQuality.h:115
Float_t GetCutp1(Int_t patNR)
Definition: EdbPVRQuality.h:336
void Cut()
Definition: EdbPVRQuality.cxx:5070
Float_t eX2HatCut[114]
Definition: EdbPVRQuality.h:129
TH2F * GetHistChi2W()
Definition: EdbPVRQuality.h:274
Float_t eRandomCutThreshold
Definition: EdbPVRQuality.h:141
TH1F * eHistChi2
Definition: EdbPVRQuality.h:74
Int_t FindFirstBinAboveTH2(TH2 *hist, Double_t threshold, Int_t axis)
Definition: EdbPVRQuality.cxx:3531
void SetEdbPVRec(EdbPVRec *Ali_orig)
Definition: EdbPVRQuality.h:263
Float_t * GetCutp0()
Definition: EdbPVRQuality.h:327
void SetCutMethod(Int_t CutMethod)
Definition: EdbPVRQuality.cxx:383
TH1F * GetHistW()
Definition: EdbPVRQuality.h:282
EdbPVRec * Remove_Passing(EdbPVRec *aliSource)
Definition: EdbPVRQuality.cxx:3250
Bool_t Chi2WRelation(EdbSegP *seg, Float_t Cutp0, Float_t Cutp1, Int_t qualitycuttype)
HERE ANOTHER FUNCTION ??? WHICH ONE ???
Definition: EdbPVRQuality.cxx:5140
TObjArray * eArrayPatternTTSource[12]
should have same entries as the corresponding EdbPattern
Definition: EdbPVRQuality.h:151
Float_t minX
Definition: EdbPVRQuality.h:82
Float_t eCutp0[114]
Definition: EdbPVRQuality.h:109
void SetHistGeometry_OPERAandMCBinArea625()
Definition: EdbPVRQuality.cxx:1026
void Execute_EqualizeTanThetaSpace_RandomCut()
Definition: EdbPVRQuality.cxx:4319
Float_t ePatternBTDensity_modified[114]
Definition: EdbPVRQuality.h:65
void SetCutMethodIsDone(Int_t CutMethod)
Definition: EdbPVRQuality.h:196
TH1F * eHistWTilde
Definition: EdbPVRQuality.h:76
TObjArray * TrackToSegmentArray(EdbTrackP *track)
Definition: EdbPVRQuality.cxx:3452
Float_t eGlobalTTReductionFactorC
Definition: EdbPVRQuality.h:105
Float_t GetBTDensity_modified(Int_t patNR=-1)
Definition: EdbPVRQuality.h:310
Int_t NbinsY
Definition: EdbPVRQuality.h:81
void SetHistGeometry_OPERAandMCBinArea4mm2()
Definition: EdbPVRQuality.cxx:1041
void Execute_EqualizeTanThetaSpace_ConstantBTDensity()
Definition: EdbPVRQuality.cxx:3726
EdbPVRec * ExtractDataVolume(EdbPVRec *pvr, EdbSegP *seg, Float_t tolerance[4])
Definition: EdbPVRQuality.cxx:593
Bool_t GetBTDensityLevelCalcMethodMC()
Definition: EdbPVRQuality.h:223
void Execute_ConstantBTDensity()
Definition: EdbPVRQuality.cxx:1393
Float_t eAgreementChi2CutRMSChi2
Definition: EdbPVRQuality.h:119
Float_t eCutTTSqueezeFactor
Definition: EdbPVRQuality.h:100
TH1F * GetHistTTFillcheck()
Definition: EdbPVRQuality.h:298
void CheckEdbPVRecThetaSpace(Int_t AliType)
Definition: EdbPVRQuality.cxx:724
EdbPVRec * GetEdbPVRecNew()
Definition: EdbPVRQuality.cxx:5510
Float_t eProfileBTdens_vs_PID_source_rmsY
Definition: EdbPVRQuality.h:88
TObjArray * eArrayPatternAllTTAccepted
after specific cut, BTs here will be kept
Definition: EdbPVRQuality.h:157
Float_t eAgreementChi2CutRMSW
Definition: EdbPVRQuality.h:121
Float_t GetCutTTSqueezeFactor()
Definition: EdbPVRQuality.h:205
void CreateEdbPVRec_TT_Algorithms()
Definition: EdbPVRQuality.cxx:5584
Bool_t eBTDensityLevelCalcMethodMC
Definition: EdbPVRQuality.h:61
Float_t eXi2HatTT_m_chi2[114][20]
Definition: EdbPVRQuality.h:136
void SetBTDensityLevelCalcMethodMC(Bool_t BTDensityLevelCalcMethodMC)
Definition: EdbPVRQuality.h:217
Float_t eProfileBTdens_vs_PID_target_meanY
Definition: EdbPVRQuality.h:91
Float_t GetagreementChi2CutRMSChi2()
Definition: EdbPVRQuality.h:343
Float_t eX2Hat
Definition: EdbPVRQuality.h:128
TObjArray * GetArrayAllExcludedSegments()
Definition: EdbPVRQuality.h:360
ClassDef(EdbPVRQuality, 1)
void PrintCutType7()
Random Test Cut in Angular Bins.
Definition: EdbPVRQuality.cxx:1304
TH1F * GetHistChi2()
Definition: EdbPVRQuality.h:279
void FillHistosPattern(EdbPVRec *aliSource, Int_t patNR=0, Bool_t DoResetHistos=kTRUE, Float_t weightXY=1)
Definition: EdbPVRQuality.cxx:4599
void Execute_RandomCut()
Definition: EdbPVRQuality.cxx:2174
void PrintBTDensities()
Print BT densities for each pattern.
Definition: EdbPVRQuality.cxx:1128
void Cut_ConstantBTX2Hat()
Definition: EdbPVRQuality.cxx:5255
Bool_t eCutMethodIsDone[8]
Definition: EdbPVRQuality.h:56
EdbPVRec * Remove_DoubleBT(EdbPVRec *aliSource)
Definition: EdbPVRQuality.cxx:3064
void Execute()
Definition: EdbPVRQuality.cxx:1312
Int_t FindLastBinAboveTH2(TH2 *hist, Double_t threshold, Int_t axis)
Definition: EdbPVRQuality.cxx:3574
EdbPVRec * GetEdbPVRec_orig()
Definition: EdbPVRQuality.h:254
void FillHistosVolume(EdbPVRec *aliSource)
Definition: EdbPVRQuality.cxx:4555
Float_t eXi2HatTT_s_chi2[114][20]
Definition: EdbPVRQuality.h:137
void PrintCutType6()
Random Test Cut.
Definition: EdbPVRQuality.cxx:1296
Float_t GetCutTTReductionFactor(Int_t binTT)
Definition: EdbPVRQuality.h:212
void Cut_ConstantBTDensity()
Definition: EdbPVRQuality.cxx:5154
Float_t GetagreementChi2CutMeanChi2()
Definition: EdbPVRQuality.h:340
Float_t eXi2HatTT_s_WTilde[114][20]
Definition: EdbPVRQuality.h:139
Definition: EdbPVRec.h:148
Int_t Npatterns() const
Definition: EdbPattern.h:366
Definition: EdbSegP.h:21
Definition: EdbPattern.h:113
Definition: bitview.h:14
void hist()
Definition: init.C:23
EdbPVRec * ali
Definition: test_oracle.C:9
Definition: AlignmentCint.cxx:51
#define NULL
Definition: nidaqmx.h:84
new TCanvas()
Int_t type
Definition: testBGReduction_By_ANN.C:15