41531f21481fd236d3d3c70e335ad3406964d9d7
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemto / AliFemtoKTPairCut.cxx
1 /////////////////////////////////////////////////////////////////////////////
2 //                                                                         //
3 // AliFemtoKTPairCut - a pair cut which selects pairs based on their       //
4 // transverse momentum kT                                                  //
5 //                                                                         //
6 /////////////////////////////////////////////////////////////////////////////
7 /***************************************************************************
8  *
9  * $Id: AliFemtoKTPairCut.cxx,v 1.1.2.2 2007/11/09 11:20:35 akisiel Exp $
10  *
11  * Author: Adam Kisiel, Ohio State, 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 #include "AliFemtoKTPairCut.h"
23 #include <string>
24 #include <cstdio>
25
26 #ifdef __ROOT__
27 ClassImp(AliFemtoKTPairCut)
28 #endif
29
30 //__________________
31 AliFemtoKTPairCut::AliFemtoKTPairCut():
32   AliFemtoPairCut(),
33   fKTMin(0),
34   fKTMax(1.0e6)
35 {
36   fKTMin = 0;
37    fKTMax = 1.0e6;
38 }
39 //__________________
40 AliFemtoKTPairCut::AliFemtoKTPairCut(double lo, double hi) :
41   AliFemtoPairCut(),
42   fKTMin(lo),
43   fKTMax(hi)
44 {
45 }
46 //__________________
47 AliFemtoKTPairCut::AliFemtoKTPairCut(const AliFemtoKTPairCut& c) : 
48   AliFemtoPairCut(c),
49   fKTMin(0),
50   fKTMax(1.0e6)
51
52   fKTMin = c.fKTMin;
53   fKTMax = c.fKTMax;
54 }
55
56 //__________________
57 AliFemtoKTPairCut::~AliFemtoKTPairCut(){
58   /* no-op */
59 }
60 //__________________
61 bool AliFemtoKTPairCut::Pass(const AliFemtoPair* pair){
62   bool temp = true;
63   
64   if (pair->KT() < fKTMin)
65     temp = false;
66
67   if (pair->KT() > fKTMax)
68     temp = false;
69
70   return temp;
71 }
72 //__________________
73 AliFemtoString AliFemtoKTPairCut::Report(){
74   // Prepare a report from the execution
75   string stemp = "AliFemtoKT Pair Cut \n";  char ctemp[100];
76   sprintf(ctemp,"Accept pair with kT in range %f , %f",fKTMin,fKTMax);
77   stemp += ctemp;
78   AliFemtoString returnThis = stemp;
79   return returnThis;}
80 //__________________
81
82 TList *AliFemtoKTPairCut::ListSettings()
83 {
84   // return a list of settings in a writable form
85   TList *tListSetttings =  new TList();
86   char buf[200];
87   snprintf(buf, 200, "AliFemtoKTPairCut.ktmax=%f", fKTMax);
88   tListSetttings->AddLast(new TObjString(buf));
89   snprintf(buf, 200, "AliFemtoKTPairCut.ktmin=%f", fKTMin);
90   tListSetttings->AddLast(new TObjString(buf));
91
92   return tListSetttings;
93 }
94
95 void AliFemtoKTPairCut::SetKTRange(double ktmin, double ktmax)
96 {
97   fKTMin = ktmin;
98   fKTMax = ktmax;
99 }