22919bb1934882f5a76f1029aff9b62c625a38d3
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemtoUser / AliFemtoQPairCut.cxx
1 /***************************************************************************
2  *
3  * $Id$
4  ***************************************************************************
5  *          
6  *
7  ***************************************************************************
8  *
9  * $Log$
10  * Revision 1.1  2007/05/16 10:25:06  akisiel
11  * Making the directory structure of AliFemtoUser flat. All files go into one common directory
12  *
13  * Revision 1.4  2007/05/03 09:46:10  akisiel
14  * Fixing Effective C++ warnings
15  *
16  * Revision 1.3  2007/04/27 07:25:59  akisiel
17  * Make revisions needed for compilation from the main AliRoot tree
18  *
19  * Revision 1.1.1.1  2007/04/25 15:38:41  panos
20  * Importing the HBT code dir
21  *
22  * Revision 1.1.1.1  2007/03/07 10:14:49  mchojnacki
23  * First version on CVS
24  *
25  *
26  **************************************************************************/
27
28 #include "AliFemtoQPairCut.h"
29 #include <string>
30 #include <cstdio>
31
32 #ifdef __ROOT__
33 ClassImp(AliFemtoQPairCut)
34 #endif
35     
36 //__________________
37 AliFemtoQPairCut::AliFemtoQPairCut():
38   fNPairsPassed(0),
39   fNPairsFailed(0)
40 {
41   fNPairsPassed = fNPairsFailed = 0;
42   fQlong[0]=-1.0; fQlong[1]=100.0;
43   fQout[0]=-1.0;  fQout[1]=100.0;
44   fQside[0]=-1.0; fQside[1]=100.0;
45   fQinv[0]=-1.0;  fQinv[1]=100.0;
46 }
47 //__________________
48 AliFemtoQPairCut::~AliFemtoQPairCut()
49 {
50 //  /* no-op */
51 }
52 //__________________
53 bool AliFemtoQPairCut::Pass(const AliFemtoPair* pair)
54 {
55   //bool temp = true;
56   //temp ? fNPairsPassed++ : fNPairsFailed++;
57   if ((fabs(pair->QLongCMS())<fQlong[0])||(fabs(pair->QLongCMS())>fQlong[1]))
58   {
59         fNPairsFailed++;
60         return false;
61   }
62   if ((fabs(pair->QOutCMS())<fQout[0])||(fabs(pair->QOutCMS())>fQout[1]))
63   {
64         fNPairsFailed++;
65         return false;
66   }
67   if ((fabs(pair->QSideCMS())<fQside[0])||(fabs(pair->QSideCMS())>fQside[1]))
68   {
69         fNPairsFailed++;
70         return false;
71   }
72     if ((fabs(pair->KStar())<fQinv[0])||(fabs(pair->KStar())>fQinv[1]))
73   {
74         fNPairsFailed++;
75         return false;
76   }
77   fNPairsPassed++;
78   return true;
79 }
80 //__________________
81 AliFemtoString AliFemtoQPairCut::Report()
82 {
83   string Stemp = "AliFemtoQ Pair Cut \n";
84   char Ctemp[100];
85   sprintf(Ctemp,"Number of pairs which passed:\t%ld  Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed);
86   Stemp += Ctemp;
87   AliFemtoString returnThis = Stemp;
88   return returnThis;
89 }
90 //__________________
91 TList *AliFemtoQPairCut::ListSettings()
92 {
93   // return a list of settings in a writable form
94   TList *tListSetttings = new TList();
95   char buf[200];
96   snprintf(buf, 200, "AliFemtoQPairCut.qout.maximum=%lf", fQout[0]);
97   tListSetttings->AddLast(new TObjString(buf));
98
99   snprintf(buf, 200, "AliFemtoQPairCut.qout.minimum=%lf", fQout[1]);
100   tListSetttings->AddLast(new TObjString(buf));
101
102   snprintf(buf, 200, "AliFemtoQPairCut.qside.maximum=%lf", fQside[0]);
103   tListSetttings->AddLast(new TObjString(buf));
104
105   snprintf(buf, 200, "AliFemtoQPairCut.qside.minimum=%lf", fQside[1]);
106   tListSetttings->AddLast(new TObjString(buf));
107
108   snprintf(buf, 200, "AliFemtoQPairCut.qlong.maximum=%lf", fQlong[0]);
109   tListSetttings->AddLast(new TObjString(buf));
110
111   snprintf(buf, 200, "AliFemtoQPairCut.qlong.minimum=%lf", fQlong[1]);
112   tListSetttings->AddLast(new TObjString(buf));
113
114   snprintf(buf, 200, "AliFemtoQPairCut.qinv.maximum=%lf", fQinv[0]);
115   tListSetttings->AddLast(new TObjString(buf));
116
117   snprintf(buf, 200, "AliFemtoQPairCut.qinv.minimum=%lf", fQinv[1]);
118   tListSetttings->AddLast(new TObjString(buf));
119
120   return tListSetttings;
121 }