ROOT logo
/////////////////////////////////////////////////////////////////////////////////////
//                                                                                 //
// AliFemtoPairCutPt - a pair cut which checks if the sum of the transverse        //
// momenta of two particles fit within given range 		                   //
// Authors: Malgorzata Janik, Warsaw University of Technology, majanik@cern.ch     //
//          Lukasz Graczykowski, Warsaw University of Technology, lgraczyk@cern.ch //
//  	       				                                           //
/////////////////////////////////////////////////////////////////////////////////////

#include "AliFemtoPairCutPt.h"
#include <string>
#include <cstdio>
#include <TMath.h>

#ifdef __ROOT__
ClassImp(AliFemtoPairCutPt)
#endif

//__________________
AliFemtoPairCutPt::AliFemtoPairCutPt():
  AliFemtoPairCut(),
  fSumPtMin(0),
  fSumPtMax(10000),
  fNPairsFailed(0),
  fNPairsPassed(0)
{

}
//__________________
AliFemtoPairCutPt::AliFemtoPairCutPt(double lo, double hi):
  AliFemtoPairCut(),
  fSumPtMin(lo),
  fSumPtMax(hi),
  fNPairsFailed(0),
  fNPairsPassed(0)
{
  fSumPtMin=lo;
  fSumPtMax=hi;
}
//__________________
AliFemtoPairCutPt::AliFemtoPairCutPt(const AliFemtoPairCutPt& c) : 
  AliFemtoPairCut(c),
  fSumPtMin(0),
  fSumPtMax(0),
  fNPairsFailed(0),
  fNPairsPassed(0)
{ 
  fSumPtMin = c.fSumPtMin;
  fSumPtMax = c.fSumPtMax;
}
AliFemtoPairCutPt& AliFemtoPairCutPt::operator=(const AliFemtoPairCutPt& c)
{
  if (this != &c) {
    fSumPtMin = c.fSumPtMin;
    fSumPtMax = c.fSumPtMax;
  }

  return *this;

}

//__________________
AliFemtoPairCutPt::~AliFemtoPairCutPt(){
  /* no-op */
}
//__________________
bool AliFemtoPairCutPt::Pass(const AliFemtoPair* pair){

  bool temp = true;

  double pt1 = pair->Track1()->Track()->Pt();
  double pt2 = pair->Track2()->Track()->Pt();

  double pt_sum = pt1 + pt2;

  if(pt_sum >= fSumPtMin && pt_sum <= fSumPtMax)
    temp = true;
  else
    temp = false;

  if(temp) 
    fNPairsPassed++;
  else fNPairsFailed++;


  return temp;
  
}
//__________________
AliFemtoString AliFemtoPairCutPt::Report(){
  // Prepare a report from the execution
  string stemp = "AliFemtoPairCutPt Pair Cut\n";  
  char ctemp[100];
  stemp += ctemp;
  snprintf(ctemp,100,"Number of pairs which passed:\t%ld  Number which failed:\t%ld\n",(long int) fNPairsPassed,(long int) fNPairsFailed);
  stemp += ctemp;
  AliFemtoString returnThis = stemp;
  return returnThis;}
//__________________

TList *AliFemtoPairCutPt::ListSettings()
{
  // return a list of settings in a writable form
  TList *tListSetttings = new TList();
  char buf[200];
  snprintf(buf, 200, "AliFemtoPairCutPt.sumptmin=%f", fSumPtMin);
  snprintf(buf, 200, "AliFemtoPairCutPr.sumptmax=%f", fSumPtMax);
  tListSetttings->AddLast(new TObjString(buf));

  return tListSetttings;
}

void AliFemtoPairCutPt::SetMinSumPt(Double_t sumptmin)
{
  fSumPtMin = sumptmin;
}

 
void AliFemtoPairCutPt::SetMaxSumPt(Double_t sumptmax)
{
  fSumPtMax = sumptmax;
}

 AliFemtoPairCutPt.cxx:1
 AliFemtoPairCutPt.cxx:2
 AliFemtoPairCutPt.cxx:3
 AliFemtoPairCutPt.cxx:4
 AliFemtoPairCutPt.cxx:5
 AliFemtoPairCutPt.cxx:6
 AliFemtoPairCutPt.cxx:7
 AliFemtoPairCutPt.cxx:8
 AliFemtoPairCutPt.cxx:9
 AliFemtoPairCutPt.cxx:10
 AliFemtoPairCutPt.cxx:11
 AliFemtoPairCutPt.cxx:12
 AliFemtoPairCutPt.cxx:13
 AliFemtoPairCutPt.cxx:14
 AliFemtoPairCutPt.cxx:15
 AliFemtoPairCutPt.cxx:16
 AliFemtoPairCutPt.cxx:17
 AliFemtoPairCutPt.cxx:18
 AliFemtoPairCutPt.cxx:19
 AliFemtoPairCutPt.cxx:20
 AliFemtoPairCutPt.cxx:21
 AliFemtoPairCutPt.cxx:22
 AliFemtoPairCutPt.cxx:23
 AliFemtoPairCutPt.cxx:24
 AliFemtoPairCutPt.cxx:25
 AliFemtoPairCutPt.cxx:26
 AliFemtoPairCutPt.cxx:27
 AliFemtoPairCutPt.cxx:28
 AliFemtoPairCutPt.cxx:29
 AliFemtoPairCutPt.cxx:30
 AliFemtoPairCutPt.cxx:31
 AliFemtoPairCutPt.cxx:32
 AliFemtoPairCutPt.cxx:33
 AliFemtoPairCutPt.cxx:34
 AliFemtoPairCutPt.cxx:35
 AliFemtoPairCutPt.cxx:36
 AliFemtoPairCutPt.cxx:37
 AliFemtoPairCutPt.cxx:38
 AliFemtoPairCutPt.cxx:39
 AliFemtoPairCutPt.cxx:40
 AliFemtoPairCutPt.cxx:41
 AliFemtoPairCutPt.cxx:42
 AliFemtoPairCutPt.cxx:43
 AliFemtoPairCutPt.cxx:44
 AliFemtoPairCutPt.cxx:45
 AliFemtoPairCutPt.cxx:46
 AliFemtoPairCutPt.cxx:47
 AliFemtoPairCutPt.cxx:48
 AliFemtoPairCutPt.cxx:49
 AliFemtoPairCutPt.cxx:50
 AliFemtoPairCutPt.cxx:51
 AliFemtoPairCutPt.cxx:52
 AliFemtoPairCutPt.cxx:53
 AliFemtoPairCutPt.cxx:54
 AliFemtoPairCutPt.cxx:55
 AliFemtoPairCutPt.cxx:56
 AliFemtoPairCutPt.cxx:57
 AliFemtoPairCutPt.cxx:58
 AliFemtoPairCutPt.cxx:59
 AliFemtoPairCutPt.cxx:60
 AliFemtoPairCutPt.cxx:61
 AliFemtoPairCutPt.cxx:62
 AliFemtoPairCutPt.cxx:63
 AliFemtoPairCutPt.cxx:64
 AliFemtoPairCutPt.cxx:65
 AliFemtoPairCutPt.cxx:66
 AliFemtoPairCutPt.cxx:67
 AliFemtoPairCutPt.cxx:68
 AliFemtoPairCutPt.cxx:69
 AliFemtoPairCutPt.cxx:70
 AliFemtoPairCutPt.cxx:71
 AliFemtoPairCutPt.cxx:72
 AliFemtoPairCutPt.cxx:73
 AliFemtoPairCutPt.cxx:74
 AliFemtoPairCutPt.cxx:75
 AliFemtoPairCutPt.cxx:76
 AliFemtoPairCutPt.cxx:77
 AliFemtoPairCutPt.cxx:78
 AliFemtoPairCutPt.cxx:79
 AliFemtoPairCutPt.cxx:80
 AliFemtoPairCutPt.cxx:81
 AliFemtoPairCutPt.cxx:82
 AliFemtoPairCutPt.cxx:83
 AliFemtoPairCutPt.cxx:84
 AliFemtoPairCutPt.cxx:85
 AliFemtoPairCutPt.cxx:86
 AliFemtoPairCutPt.cxx:87
 AliFemtoPairCutPt.cxx:88
 AliFemtoPairCutPt.cxx:89
 AliFemtoPairCutPt.cxx:90
 AliFemtoPairCutPt.cxx:91
 AliFemtoPairCutPt.cxx:92
 AliFemtoPairCutPt.cxx:93
 AliFemtoPairCutPt.cxx:94
 AliFemtoPairCutPt.cxx:95
 AliFemtoPairCutPt.cxx:96
 AliFemtoPairCutPt.cxx:97
 AliFemtoPairCutPt.cxx:98
 AliFemtoPairCutPt.cxx:99
 AliFemtoPairCutPt.cxx:100
 AliFemtoPairCutPt.cxx:101
 AliFemtoPairCutPt.cxx:102
 AliFemtoPairCutPt.cxx:103
 AliFemtoPairCutPt.cxx:104
 AliFemtoPairCutPt.cxx:105
 AliFemtoPairCutPt.cxx:106
 AliFemtoPairCutPt.cxx:107
 AliFemtoPairCutPt.cxx:108
 AliFemtoPairCutPt.cxx:109
 AliFemtoPairCutPt.cxx:110
 AliFemtoPairCutPt.cxx:111
 AliFemtoPairCutPt.cxx:112
 AliFemtoPairCutPt.cxx:113
 AliFemtoPairCutPt.cxx:114
 AliFemtoPairCutPt.cxx:115
 AliFemtoPairCutPt.cxx:116
 AliFemtoPairCutPt.cxx:117
 AliFemtoPairCutPt.cxx:118
 AliFemtoPairCutPt.cxx:119
 AliFemtoPairCutPt.cxx:120
 AliFemtoPairCutPt.cxx:121
 AliFemtoPairCutPt.cxx:122
 AliFemtoPairCutPt.cxx:123