ROOT logo
/////////////////////////////////////////////////////////////////////////////
//                                                                         //
// AliFemtoShareQualityQAPairCut - a pair cut which checks for some pair     //
// qualities that attempt to identify slit/doubly reconstructed tracks     //
//                                                                         //
/////////////////////////////////////////////////////////////////////////////
/***************************************************************************
 *
 * $Id: AliFemtoShareQualityQAPairCut.h 24360 2008-03-10 09:48:27Z akisiel $
 *
 * Author: Adam Kisiel, Ohio State University, kisiel@mps.ohio-state.edu
 ***************************************************************************
 *
 * Description: part of STAR HBT Framework: AliFemtoMaker package
 *   a cut to remove "shared" and "split" pairs
 *
 ***************************************************************************
 *
 *
 **************************************************************************/


#ifndef AliFemtoShareQualityQAPairCut_H
#define AliFemtoShareQualityQAPairCut_H

// do I need these lines ?
//#ifndef StMaker_H
//#include "StMaker.h"
//#endif

#include "AliFemtoPairCut.h"

class AliFemtoShareQualityQAPairCut : public AliFemtoPairCut{
public:
  AliFemtoShareQualityQAPairCut();
  AliFemtoShareQualityQAPairCut(const AliFemtoShareQualityQAPairCut& cut);
  virtual ~AliFemtoShareQualityQAPairCut();
  AliFemtoShareQualityQAPairCut& operator=(const AliFemtoShareQualityQAPairCut& cut);
  
  virtual bool Pass(const AliFemtoPair* pair);
  virtual AliFemtoString Report();
  virtual TList *ListSettings();
  virtual AliFemtoPairCut* Clone();
  void SetShareQualityMax(Double_t aAliFemtoShareQualityMax);
  void SetShareQualitymin(Double_t aAliFemtoShareQualitymin);
  void SetShareQualityQASwitch(bool aSwitch);
  void SetShareQualityQAExclusionZone(Double_t lo, Double_t hi);
  Double_t GetAliFemtoShareQualityMax() const;
  void SetShareFractionMax(Double_t aAliFemtoShareFractionMax);
  void SetShareFractionmin(Double_t aAliFemtoShareFractionmin);
  void SetShareFractionQASwitch(bool aSwitch);
  void SetShareFractionQAExclusionZone(Double_t lo, Double_t hi);
  Double_t GetAliFemtoShareFractionMax() const;
  void     SetRemoveSameLabel(Bool_t aRemove);
  
 protected:
  long fNPairsPassed;          // Number of pairs consideered that passed the cut 
  long fNPairsFailed;          // Number of pairs consideered that failed the cut

 private:
  Double_t fShareQualityMax;   // Maximum allowed pair quality
  Double_t fShareQualitymin;   // Minimum allowed pair quality
  Double_t fShareFractionMax;  // Maximum allowed share fraction
  Double_t fShareFractionmin;  // Minimum allowed share fraction
  Bool_t   fRemoveSameLabel;   // If 1 pairs with two tracks with the same label will be removed 
  
  bool     fShareQualityQASwitch;             // Turn on QA Exclusion Zone (true=on)
  Double_t fShareQualityQAExclusionZone[2];   // Set Exclusion Zone limits
  bool     fShareFractionQASwitch;             // Turn on QA Exclusion Zone (true=on)
  Double_t fShareFractionQAExclusionZone[2];   // Set Exclusion Zone limits


#ifdef __ROOT__
  ClassDef(AliFemtoShareQualityQAPairCut, 0)
#endif
};

inline AliFemtoShareQualityQAPairCut::AliFemtoShareQualityQAPairCut(const AliFemtoShareQualityQAPairCut& c) : 
  AliFemtoPairCut(c),
  fNPairsPassed(0),
  fNPairsFailed(0),
  fShareQualityMax(1.0),
  fShareQualitymin(-0.5),
  fShareFractionMax(1.0),
  fShareFractionmin(0.0),
  fRemoveSameLabel(0),// no cut
  fShareQualityQASwitch(0),
  fShareFractionQASwitch(0)
{ 
  fShareQualityQASwitch  = c.fShareQualityQASwitch;
  fShareQualityQAExclusionZone[0]  = c.fShareQualityQAExclusionZone[0];
  fShareQualityQAExclusionZone[1]  = c.fShareQualityQAExclusionZone[1];
  fShareFractionQASwitch = c.fShareFractionQASwitch; 
  fShareFractionQAExclusionZone[0]  = c.fShareFractionQAExclusionZone[0];
  fShareFractionQAExclusionZone[1]  = c.fShareFractionQAExclusionZone[1];
}

inline AliFemtoPairCut* AliFemtoShareQualityQAPairCut::Clone() { AliFemtoShareQualityQAPairCut* c = new AliFemtoShareQualityQAPairCut(*this); return c;}

#endif
 AliFemtoShareQualityQAPairCut.h:1
 AliFemtoShareQualityQAPairCut.h:2
 AliFemtoShareQualityQAPairCut.h:3
 AliFemtoShareQualityQAPairCut.h:4
 AliFemtoShareQualityQAPairCut.h:5
 AliFemtoShareQualityQAPairCut.h:6
 AliFemtoShareQualityQAPairCut.h:7
 AliFemtoShareQualityQAPairCut.h:8
 AliFemtoShareQualityQAPairCut.h:9
 AliFemtoShareQualityQAPairCut.h:10
 AliFemtoShareQualityQAPairCut.h:11
 AliFemtoShareQualityQAPairCut.h:12
 AliFemtoShareQualityQAPairCut.h:13
 AliFemtoShareQualityQAPairCut.h:14
 AliFemtoShareQualityQAPairCut.h:15
 AliFemtoShareQualityQAPairCut.h:16
 AliFemtoShareQualityQAPairCut.h:17
 AliFemtoShareQualityQAPairCut.h:18
 AliFemtoShareQualityQAPairCut.h:19
 AliFemtoShareQualityQAPairCut.h:20
 AliFemtoShareQualityQAPairCut.h:21
 AliFemtoShareQualityQAPairCut.h:22
 AliFemtoShareQualityQAPairCut.h:23
 AliFemtoShareQualityQAPairCut.h:24
 AliFemtoShareQualityQAPairCut.h:25
 AliFemtoShareQualityQAPairCut.h:26
 AliFemtoShareQualityQAPairCut.h:27
 AliFemtoShareQualityQAPairCut.h:28
 AliFemtoShareQualityQAPairCut.h:29
 AliFemtoShareQualityQAPairCut.h:30
 AliFemtoShareQualityQAPairCut.h:31
 AliFemtoShareQualityQAPairCut.h:32
 AliFemtoShareQualityQAPairCut.h:33
 AliFemtoShareQualityQAPairCut.h:34
 AliFemtoShareQualityQAPairCut.h:35
 AliFemtoShareQualityQAPairCut.h:36
 AliFemtoShareQualityQAPairCut.h:37
 AliFemtoShareQualityQAPairCut.h:38
 AliFemtoShareQualityQAPairCut.h:39
 AliFemtoShareQualityQAPairCut.h:40
 AliFemtoShareQualityQAPairCut.h:41
 AliFemtoShareQualityQAPairCut.h:42
 AliFemtoShareQualityQAPairCut.h:43
 AliFemtoShareQualityQAPairCut.h:44
 AliFemtoShareQualityQAPairCut.h:45
 AliFemtoShareQualityQAPairCut.h:46
 AliFemtoShareQualityQAPairCut.h:47
 AliFemtoShareQualityQAPairCut.h:48
 AliFemtoShareQualityQAPairCut.h:49
 AliFemtoShareQualityQAPairCut.h:50
 AliFemtoShareQualityQAPairCut.h:51
 AliFemtoShareQualityQAPairCut.h:52
 AliFemtoShareQualityQAPairCut.h:53
 AliFemtoShareQualityQAPairCut.h:54
 AliFemtoShareQualityQAPairCut.h:55
 AliFemtoShareQualityQAPairCut.h:56
 AliFemtoShareQualityQAPairCut.h:57
 AliFemtoShareQualityQAPairCut.h:58
 AliFemtoShareQualityQAPairCut.h:59
 AliFemtoShareQualityQAPairCut.h:60
 AliFemtoShareQualityQAPairCut.h:61
 AliFemtoShareQualityQAPairCut.h:62
 AliFemtoShareQualityQAPairCut.h:63
 AliFemtoShareQualityQAPairCut.h:64
 AliFemtoShareQualityQAPairCut.h:65
 AliFemtoShareQualityQAPairCut.h:66
 AliFemtoShareQualityQAPairCut.h:67
 AliFemtoShareQualityQAPairCut.h:68
 AliFemtoShareQualityQAPairCut.h:69
 AliFemtoShareQualityQAPairCut.h:70
 AliFemtoShareQualityQAPairCut.h:71
 AliFemtoShareQualityQAPairCut.h:72
 AliFemtoShareQualityQAPairCut.h:73
 AliFemtoShareQualityQAPairCut.h:74
 AliFemtoShareQualityQAPairCut.h:75
 AliFemtoShareQualityQAPairCut.h:76
 AliFemtoShareQualityQAPairCut.h:77
 AliFemtoShareQualityQAPairCut.h:78
 AliFemtoShareQualityQAPairCut.h:79
 AliFemtoShareQualityQAPairCut.h:80
 AliFemtoShareQualityQAPairCut.h:81
 AliFemtoShareQualityQAPairCut.h:82
 AliFemtoShareQualityQAPairCut.h:83
 AliFemtoShareQualityQAPairCut.h:84
 AliFemtoShareQualityQAPairCut.h:85
 AliFemtoShareQualityQAPairCut.h:86
 AliFemtoShareQualityQAPairCut.h:87
 AliFemtoShareQualityQAPairCut.h:88
 AliFemtoShareQualityQAPairCut.h:89
 AliFemtoShareQualityQAPairCut.h:90
 AliFemtoShareQualityQAPairCut.h:91
 AliFemtoShareQualityQAPairCut.h:92
 AliFemtoShareQualityQAPairCut.h:93
 AliFemtoShareQualityQAPairCut.h:94
 AliFemtoShareQualityQAPairCut.h:95
 AliFemtoShareQualityQAPairCut.h:96
 AliFemtoShareQualityQAPairCut.h:97
 AliFemtoShareQualityQAPairCut.h:98
 AliFemtoShareQualityQAPairCut.h:99
 AliFemtoShareQualityQAPairCut.h:100