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