]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoV0PairCut.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoV0PairCut.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: AliFemtoShareQualityPairCut.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 ALIFEMTOV0PAIRCUT_H
24 #define ALIFEMTOV0PAIRCUT_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 AliFemtoV0PairCut : public AliFemtoPairCut{
34 public:
35   AliFemtoV0PairCut();
36   AliFemtoV0PairCut(const AliFemtoV0PairCut& cut);
37   virtual ~AliFemtoV0PairCut();
38   AliFemtoV0PairCut& operator=(const AliFemtoV0PairCut& cut);
39   
40   virtual bool Pass(const AliFemtoPair* pair);
41   virtual AliFemtoString Report();
42   virtual TList *ListSettings();
43   virtual AliFemtoPairCut* Clone();
44   void SetV0Max(Double_t aAliFemtoV0Max);
45   Double_t GetAliFemtoV0Max() const;
46   void     SetRemoveSameLabel(Bool_t aRemove);
47   void SetTPCEntranceSepMinimum(double dtpc);
48   void SetTPCExitSepMinimum(double dtpc);
49   void SetDataType(AliFemtoDataType type);
50   void SetMinAvgSeparation(int type, double minSep);
51
52  protected:
53   long fNPairsPassed;          // Number of pairs consideered that passed the cut 
54   long fNPairsFailed;          // Number of pairs consideered that failed the cut
55   Double_t fV0Max;   // Maximum allowed pair quality
56   Double_t fShareFractionMax;  // Maximum allowed share fraction
57   Bool_t   fRemoveSameLabel;   // If 1 pairs with two tracks with the same label will be removed 
58
59   AliFemtoDataType fDataType; //Use ESD / AOD / Kinematics.
60   Double_t fDTPCMin;          // Minimum allowed pair nominal separation at the entrance to the TPC
61   Double_t fDTPCExitMin;          // Minimum allowed pair nominal separation at the exit of the TPC
62   double   fMinAvgSepPosPos;
63   double   fMinAvgSepPosNeg;
64   double   fMinAvgSepNegPos;
65   double   fMinAvgSepNegNeg;
66
67 #ifdef __ROOT__
68   ClassDef(AliFemtoV0PairCut, 0)
69 #endif
70 };
71
72 inline AliFemtoV0PairCut::AliFemtoV0PairCut(const AliFemtoV0PairCut& c) : 
73   AliFemtoPairCut(c),
74   fNPairsPassed(0),
75   fNPairsFailed(0),
76   fV0Max(1.0),
77   fShareFractionMax(1.0),
78   fRemoveSameLabel(0),
79   fDataType(kAOD),
80   fDTPCMin(0),
81   fDTPCExitMin(0),
82   fMinAvgSepPosPos(0),
83   fMinAvgSepPosNeg(0),
84   fMinAvgSepNegPos(0),
85   fMinAvgSepNegNeg(0)                 
86
87 { /* no-op */ }
88
89 inline AliFemtoPairCut* AliFemtoV0PairCut::Clone() { AliFemtoV0PairCut* c = new AliFemtoV0PairCut(*this); return c;}
90
91 #endif