]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemtoUser/AliFemtoShareQualityQAPairCut.h
Migration of PWG2/FEMTOSCOPY to PWGCF/FEMTOSCOPY
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemtoUser / AliFemtoShareQualityQAPairCut.h
1 /////////////////////////////////////////////////////////////////////////////
2 //                                                                         //
3 // AliFemtoShareQualityQAPairCut - a pair cut which checks for some pair     //
4 // qualities that attempt to identify slit/doubly reconstructed tracks     //
5 //                                                                         //
6 /////////////////////////////////////////////////////////////////////////////
7 /***************************************************************************
8  *
9  * $Id: AliFemtoShareQualityQAPairCut.h 24360 2008-03-10 09:48:27Z akisiel $
10  *
11  * Author: Adam Kisiel, Ohio State University, kisiel@mps.ohio-state.edu
12  ***************************************************************************
13  *
14  * Description: part of STAR HBT Framework: AliFemtoMaker package
15  *   a cut to remove "shared" and "split" pairs
16  *
17  ***************************************************************************
18  *
19  *
20  **************************************************************************/
21
22
23 #ifndef AliFemtoShareQualityQAPairCut_H
24 #define AliFemtoShareQualityQAPairCut_H
25
26 // do I need these lines ?
27 //#ifndef StMaker_H
28 //#include "StMaker.h"
29 //#endif
30
31 #include "AliFemtoPairCut.h"
32
33 class AliFemtoShareQualityQAPairCut : public AliFemtoPairCut{
34 public:
35   AliFemtoShareQualityQAPairCut();
36   AliFemtoShareQualityQAPairCut(const AliFemtoShareQualityQAPairCut& cut);
37   virtual ~AliFemtoShareQualityQAPairCut();
38   AliFemtoShareQualityQAPairCut& operator=(const AliFemtoShareQualityQAPairCut& cut);
39   
40   virtual bool Pass(const AliFemtoPair* pair);
41   virtual AliFemtoString Report();
42   virtual TList *ListSettings();
43   virtual AliFemtoPairCut* Clone();
44   void SetShareQualityMax(Double_t aAliFemtoShareQualityMax);
45   void SetShareQualitymin(Double_t aAliFemtoShareQualitymin);
46   void SetShareQualityQASwitch(bool aSwitch);
47   void SetShareQualityQAExclusionZone(Double_t lo, Double_t hi);
48   Double_t GetAliFemtoShareQualityMax() const;
49   void SetShareFractionMax(Double_t aAliFemtoShareFractionMax);
50   void SetShareFractionmin(Double_t aAliFemtoShareFractionmin);
51   void SetShareFractionQASwitch(bool aSwitch);
52   void SetShareFractionQAExclusionZone(Double_t lo, Double_t hi);
53   Double_t GetAliFemtoShareFractionMax() const;
54   void     SetRemoveSameLabel(Bool_t aRemove);
55   
56  protected:
57   long fNPairsPassed;          // Number of pairs consideered that passed the cut 
58   long fNPairsFailed;          // Number of pairs consideered that failed the cut
59
60  private:
61   Double_t fShareQualityMax;   // Maximum allowed pair quality
62   Double_t fShareQualitymin;   // Minimum allowed pair quality
63   Double_t fShareFractionMax;  // Maximum allowed share fraction
64   Double_t fShareFractionmin;  // Minimum allowed share fraction
65   Bool_t   fRemoveSameLabel;   // If 1 pairs with two tracks with the same label will be removed 
66   
67   bool     fShareQualityQASwitch;             // Turn on QA Exclusion Zone (true=on)
68   Double_t fShareQualityQAExclusionZone[2];   // Set Exclusion Zone limits
69   bool     fShareFractionQASwitch;             // Turn on QA Exclusion Zone (true=on)
70   Double_t fShareFractionQAExclusionZone[2];   // Set Exclusion Zone limits
71
72
73 #ifdef __ROOT__
74   ClassDef(AliFemtoShareQualityQAPairCut, 0)
75 #endif
76 };
77
78 inline AliFemtoShareQualityQAPairCut::AliFemtoShareQualityQAPairCut(const AliFemtoShareQualityQAPairCut& c) : 
79   AliFemtoPairCut(c),
80   fNPairsPassed(0),
81   fNPairsFailed(0),
82   fShareQualityMax(1.0),
83   fShareQualitymin(-0.5),
84   fShareFractionMax(1.0),
85   fShareFractionmin(0.0),
86   fRemoveSameLabel(0),// no cut
87   fShareQualityQASwitch(0),
88   fShareFractionQASwitch(0)
89
90   fShareQualityQASwitch  = c.fShareQualityQASwitch;
91   fShareQualityQAExclusionZone[0]  = c.fShareQualityQAExclusionZone[0];
92   fShareQualityQAExclusionZone[1]  = c.fShareQualityQAExclusionZone[1];
93   fShareFractionQASwitch = c.fShareFractionQASwitch; 
94   fShareFractionQAExclusionZone[0]  = c.fShareFractionQAExclusionZone[0];
95   fShareFractionQAExclusionZone[1]  = c.fShareFractionQAExclusionZone[1];
96 }
97
98 inline AliFemtoPairCut* AliFemtoShareQualityQAPairCut::Clone() { AliFemtoShareQualityQAPairCut* c = new AliFemtoShareQualityQAPairCut(*this); return c;}
99
100 #endif