Port of changes from v4-07-Release and additional rule conformance
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemtoUser / AliFemtoShareQualityPairCut.h
1 /////////////////////////////////////////////////////////////////////////////
2 //                                                                         //
3 // AliFemtoShareQualityPairCut - a pair cut which checks for some pair     //
4 // qualities that attempt to identify slit/doubly reconstructed tracks     //
5 //                                                                         //
6 /////////////////////////////////////////////////////////////////////////////
7 /***************************************************************************
8  *
9  * $Id$
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 ALIFEMTOSHAREQUALITYPAIRCUT_H
24 #define ALIFEMTOSHAREQUALITYPAIRCUT_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 AliFemtoShareQualityPairCut : public AliFemtoPairCut{
34 public:
35   AliFemtoShareQualityPairCut();
36   AliFemtoShareQualityPairCut(const AliFemtoShareQualityPairCut& cut);
37   virtual ~AliFemtoShareQualityPairCut();
38   
39   virtual bool Pass(const AliFemtoPair* pair);
40   virtual AliFemtoString Report();
41   virtual TList *ListSettings();
42   AliFemtoShareQualityPairCut* Clone();
43   void SetShareQualityMax(Double_t aAliFemtoShareQualityMax);
44   Double_t GetAliFemtoShareQualityMax() const;
45   void SetShareFractionMax(Double_t aAliFemtoShareFractionMax);
46   Double_t GetAliFemtoShareFractionMax() const;
47   void     SetRemoveSameLabel(Bool_t aRemove);
48   
49  protected:
50   long fNPairsPassed;          // Number of pairs consideered that passed the cut 
51   long fNPairsFailed;          // Number of pairs consideered that failed the cut
52
53  private:
54   Double_t fShareQualityMax;   // Maximum allowed pair quality
55   Double_t fShareFractionMax;  // Maximum allowed share fraction
56   Bool_t   fRemoveSameLabel;   // If 1 pairs with two tracks with the same label will be removed 
57
58
59 #ifdef __ROOT__
60   ClassDef(AliFemtoShareQualityPairCut, 0)
61 #endif
62 };
63
64 inline AliFemtoShareQualityPairCut::AliFemtoShareQualityPairCut(const AliFemtoShareQualityPairCut& c) : 
65   AliFemtoPairCut(c),
66   fNPairsPassed(0),
67   fNPairsFailed(0),
68   fShareQualityMax(1.0),
69   fShareFractionMax(1.0)// no cut
70 { /* no-op */ }
71
72 inline AliFemtoShareQualityPairCut* AliFemtoShareQualityPairCut::Clone() { AliFemtoShareQualityPairCut* c = new AliFemtoShareQualityPairCut(*this); return c;}
73
74 #endif