ROOT logo
/////////////////////////////////////////////////////////////////////////////
//                                                                         //
// AliFemtoShareQualityKTPairCut - a pair cut which checks for some pair   //
// qualities that attempt to identify slit/doubly reconstructed tracks     //
// and selects pairs based on their transverse momentum kT                 //
//                                                                         //
/////////////////////////////////////////////////////////////////////////////
/***************************************************************************
 *
 * $Id: AliFemtoShareQualityKTPairCut.cxx,v 1.1.2.1 2007/10/19 13:35:33 akisiel Exp $
 *
 * Author: Adam Kisiel, Ohio State, kisiel@mps.ohio-state.edu
 ***************************************************************************
 *
 * Description: part of STAR HBT Framework: AliFemtoMaker package
 *   a cut to remove "shared" and "split" pairs
 *
 ***************************************************************************
 *
 *
 **************************************************************************/

#include "AliFemtoShareQualityKTPairCut.h"
#include <string>
#include <cstdio>

#ifdef __ROOT__
ClassImp(AliFemtoShareQualityKTPairCut)
#endif

//__________________
AliFemtoShareQualityKTPairCut::AliFemtoShareQualityKTPairCut():
  AliFemtoShareQualityPairCut(),
  fKTMin(0),
  fKTMax(1.0e6)
{
}
//__________________
AliFemtoShareQualityKTPairCut::AliFemtoShareQualityKTPairCut(const AliFemtoShareQualityKTPairCut& c) : 
  AliFemtoShareQualityPairCut(c),
  fKTMin(0),
  fKTMax(1.0e6)
{ 
  fKTMin = c.fKTMin;
  fKTMax = c.fKTMax;
}

//__________________
AliFemtoShareQualityKTPairCut::~AliFemtoShareQualityKTPairCut(){
  /* no-op */
}
//__________________
AliFemtoShareQualityKTPairCut& AliFemtoShareQualityKTPairCut::operator=(const AliFemtoShareQualityKTPairCut& c){
  if (this != &c) {
    AliFemtoPairCut::operator=(c);
    
    fKTMin = c.fKTMin;
    fKTMax = c.fKTMax;
  }

  return *this;
}
//__________________
bool AliFemtoShareQualityKTPairCut::Pass(const AliFemtoPair* pair){
  // Accept a pair base on its Kt and sharity and quality
  bool temp = true;
  
  if (pair->KT() < fKTMin)
    temp = false;

  if (pair->KT() > fKTMax)
    temp = false;

  if (temp) {
    temp = AliFemtoShareQualityPairCut::Pass(pair);
  }
  else
    fNPairsFailed++;

  return temp;
}
//__________________
AliFemtoString AliFemtoShareQualityKTPairCut::Report(){
  // Prepare a report from execution
  string stemp = "AliFemtoShareQuality Pair Cut - remove shared and split pairs\n";  char ctemp[100];
  snprintf(ctemp , 100, "Accept pair with kT in range %f , %f",fKTMin,fKTMax);
  stemp += ctemp;
  snprintf(ctemp , 100, "Number of pairs which passed:\t%ld  Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed);
  stemp += ctemp;
  AliFemtoString returnThis = stemp;
  return returnThis;}
//__________________

TList *AliFemtoShareQualityKTPairCut::ListSettings()
{
  // return a list of settings in a writable form
  TList *tListSetttings =  AliFemtoShareQualityPairCut::ListSettings();
  char buf[200];
  snprintf(buf, 200, "AliFemtoShareQualityKTPairCut.ktmax=%f", fKTMax);
  tListSetttings->AddLast(new TObjString(buf));
  snprintf(buf, 200, "AliFemtoShareQualityKTPairCut.ktmin=%f", fKTMin);
  tListSetttings->AddLast(new TObjString(buf));

  return tListSetttings;
}

void AliFemtoShareQualityKTPairCut::SetKTRange(double ktmin, double ktmax)
{
  // Set the accepted kT range
  fKTMin = ktmin;
  fKTMax = ktmax;
}
 AliFemtoShareQualityKTPairCut.cxx:1
 AliFemtoShareQualityKTPairCut.cxx:2
 AliFemtoShareQualityKTPairCut.cxx:3
 AliFemtoShareQualityKTPairCut.cxx:4
 AliFemtoShareQualityKTPairCut.cxx:5
 AliFemtoShareQualityKTPairCut.cxx:6
 AliFemtoShareQualityKTPairCut.cxx:7
 AliFemtoShareQualityKTPairCut.cxx:8
 AliFemtoShareQualityKTPairCut.cxx:9
 AliFemtoShareQualityKTPairCut.cxx:10
 AliFemtoShareQualityKTPairCut.cxx:11
 AliFemtoShareQualityKTPairCut.cxx:12
 AliFemtoShareQualityKTPairCut.cxx:13
 AliFemtoShareQualityKTPairCut.cxx:14
 AliFemtoShareQualityKTPairCut.cxx:15
 AliFemtoShareQualityKTPairCut.cxx:16
 AliFemtoShareQualityKTPairCut.cxx:17
 AliFemtoShareQualityKTPairCut.cxx:18
 AliFemtoShareQualityKTPairCut.cxx:19
 AliFemtoShareQualityKTPairCut.cxx:20
 AliFemtoShareQualityKTPairCut.cxx:21
 AliFemtoShareQualityKTPairCut.cxx:22
 AliFemtoShareQualityKTPairCut.cxx:23
 AliFemtoShareQualityKTPairCut.cxx:24
 AliFemtoShareQualityKTPairCut.cxx:25
 AliFemtoShareQualityKTPairCut.cxx:26
 AliFemtoShareQualityKTPairCut.cxx:27
 AliFemtoShareQualityKTPairCut.cxx:28
 AliFemtoShareQualityKTPairCut.cxx:29
 AliFemtoShareQualityKTPairCut.cxx:30
 AliFemtoShareQualityKTPairCut.cxx:31
 AliFemtoShareQualityKTPairCut.cxx:32
 AliFemtoShareQualityKTPairCut.cxx:33
 AliFemtoShareQualityKTPairCut.cxx:34
 AliFemtoShareQualityKTPairCut.cxx:35
 AliFemtoShareQualityKTPairCut.cxx:36
 AliFemtoShareQualityKTPairCut.cxx:37
 AliFemtoShareQualityKTPairCut.cxx:38
 AliFemtoShareQualityKTPairCut.cxx:39
 AliFemtoShareQualityKTPairCut.cxx:40
 AliFemtoShareQualityKTPairCut.cxx:41
 AliFemtoShareQualityKTPairCut.cxx:42
 AliFemtoShareQualityKTPairCut.cxx:43
 AliFemtoShareQualityKTPairCut.cxx:44
 AliFemtoShareQualityKTPairCut.cxx:45
 AliFemtoShareQualityKTPairCut.cxx:46
 AliFemtoShareQualityKTPairCut.cxx:47
 AliFemtoShareQualityKTPairCut.cxx:48
 AliFemtoShareQualityKTPairCut.cxx:49
 AliFemtoShareQualityKTPairCut.cxx:50
 AliFemtoShareQualityKTPairCut.cxx:51
 AliFemtoShareQualityKTPairCut.cxx:52
 AliFemtoShareQualityKTPairCut.cxx:53
 AliFemtoShareQualityKTPairCut.cxx:54
 AliFemtoShareQualityKTPairCut.cxx:55
 AliFemtoShareQualityKTPairCut.cxx:56
 AliFemtoShareQualityKTPairCut.cxx:57
 AliFemtoShareQualityKTPairCut.cxx:58
 AliFemtoShareQualityKTPairCut.cxx:59
 AliFemtoShareQualityKTPairCut.cxx:60
 AliFemtoShareQualityKTPairCut.cxx:61
 AliFemtoShareQualityKTPairCut.cxx:62
 AliFemtoShareQualityKTPairCut.cxx:63
 AliFemtoShareQualityKTPairCut.cxx:64
 AliFemtoShareQualityKTPairCut.cxx:65
 AliFemtoShareQualityKTPairCut.cxx:66
 AliFemtoShareQualityKTPairCut.cxx:67
 AliFemtoShareQualityKTPairCut.cxx:68
 AliFemtoShareQualityKTPairCut.cxx:69
 AliFemtoShareQualityKTPairCut.cxx:70
 AliFemtoShareQualityKTPairCut.cxx:71
 AliFemtoShareQualityKTPairCut.cxx:72
 AliFemtoShareQualityKTPairCut.cxx:73
 AliFemtoShareQualityKTPairCut.cxx:74
 AliFemtoShareQualityKTPairCut.cxx:75
 AliFemtoShareQualityKTPairCut.cxx:76
 AliFemtoShareQualityKTPairCut.cxx:77
 AliFemtoShareQualityKTPairCut.cxx:78
 AliFemtoShareQualityKTPairCut.cxx:79
 AliFemtoShareQualityKTPairCut.cxx:80
 AliFemtoShareQualityKTPairCut.cxx:81
 AliFemtoShareQualityKTPairCut.cxx:82
 AliFemtoShareQualityKTPairCut.cxx:83
 AliFemtoShareQualityKTPairCut.cxx:84
 AliFemtoShareQualityKTPairCut.cxx:85
 AliFemtoShareQualityKTPairCut.cxx:86
 AliFemtoShareQualityKTPairCut.cxx:87
 AliFemtoShareQualityKTPairCut.cxx:88
 AliFemtoShareQualityKTPairCut.cxx:89
 AliFemtoShareQualityKTPairCut.cxx:90
 AliFemtoShareQualityKTPairCut.cxx:91
 AliFemtoShareQualityKTPairCut.cxx:92
 AliFemtoShareQualityKTPairCut.cxx:93
 AliFemtoShareQualityKTPairCut.cxx:94
 AliFemtoShareQualityKTPairCut.cxx:95
 AliFemtoShareQualityKTPairCut.cxx:96
 AliFemtoShareQualityKTPairCut.cxx:97
 AliFemtoShareQualityKTPairCut.cxx:98
 AliFemtoShareQualityKTPairCut.cxx:99
 AliFemtoShareQualityKTPairCut.cxx:100
 AliFemtoShareQualityKTPairCut.cxx:101
 AliFemtoShareQualityKTPairCut.cxx:102
 AliFemtoShareQualityKTPairCut.cxx:103
 AliFemtoShareQualityKTPairCut.cxx:104
 AliFemtoShareQualityKTPairCut.cxx:105
 AliFemtoShareQualityKTPairCut.cxx:106
 AliFemtoShareQualityKTPairCut.cxx:107
 AliFemtoShareQualityKTPairCut.cxx:108
 AliFemtoShareQualityKTPairCut.cxx:109
 AliFemtoShareQualityKTPairCut.cxx:110
 AliFemtoShareQualityKTPairCut.cxx:111
 AliFemtoShareQualityKTPairCut.cxx:112