]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FEMTOSCOPY/AliFemtoUser/AliFemtoQPairCut.cxx
Lines getting the matched track moved to a method in AliCalorimeterUtils. Lines copie...
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemtoUser / AliFemtoQPairCut.cxx
CommitLineData
cc5faabc 1/////////////////////////////////////////////////////////////////////////////
2// //
3// AliFemtoQPairCut - a simple cut which selects pairs based on the values //
4// of their respective q components /
5// //
6/////////////////////////////////////////////////////////////////////////////
67427ff7 7/***************************************************************************
8 *
9 * $Id$
10 ***************************************************************************
11 *
12 *
13 ***************************************************************************
14 *
15 * $Log$
cc5faabc 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 *
3a74204a 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 *
65423af9 25 * Revision 1.4 2007/05/03 09:46:10 akisiel
26 * Fixing Effective C++ warnings
27 *
0215f606 28 * Revision 1.3 2007/04/27 07:25:59 akisiel
29 * Make revisions needed for compilation from the main AliRoot tree
30 *
b2f60a91 31 * Revision 1.1.1.1 2007/04/25 15:38:41 panos
32 * Importing the HBT code dir
33 *
67427ff7 34 * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki
35 * First version on CVS
36 *
37 *
38 **************************************************************************/
39
b2f60a91 40#include "AliFemtoQPairCut.h"
67427ff7 41#include <string>
42#include <cstdio>
43
44#ifdef __ROOT__
45ClassImp(AliFemtoQPairCut)
46#endif
47
48//__________________
0215f606 49AliFemtoQPairCut::AliFemtoQPairCut():
50 fNPairsPassed(0),
51 fNPairsFailed(0)
67427ff7 52{
cc5faabc 53 // Default constructor
67427ff7 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{
cc5faabc 68 // Select pairs based on their q values
67427ff7 69 //bool temp = true;
70 //temp ? fNPairsPassed++ : fNPairsFailed++;
65423af9 71 if ((fabs(pair->QLongCMS())<fQlong[0])||(fabs(pair->QLongCMS())>fQlong[1]))
67427ff7 72 {
73 fNPairsFailed++;
74 return false;
75 }
65423af9 76 if ((fabs(pair->QOutCMS())<fQout[0])||(fabs(pair->QOutCMS())>fQout[1]))
67427ff7 77 {
78 fNPairsFailed++;
79 return false;
80 }
65423af9 81 if ((fabs(pair->QSideCMS())<fQside[0])||(fabs(pair->QSideCMS())>fQside[1]))
67427ff7 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{
cc5faabc 97 // Prepare a report
98 string stemp = "AliFemtoQ Pair Cut \n";
99 char ctemp[100];
adecdc37 100 snprintf(ctemp , 100, "Number of pairs which passed:\t%ld Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed);
cc5faabc 101 stemp += ctemp;
102 AliFemtoString returnThis = stemp;
67427ff7 103 return returnThis;
104}
105//__________________
3a74204a 106TList *AliFemtoQPairCut::ListSettings()
107{
108 // return a list of settings in a writable form
109 TList *tListSetttings = new TList();
110 char buf[200];
db2d5b4b 111 snprintf(buf, 200, "AliFemtoQPairCut.qout.maximum=%f", fQout[0]);
3a74204a 112 tListSetttings->AddLast(new TObjString(buf));
113
db2d5b4b 114 snprintf(buf, 200, "AliFemtoQPairCut.qout.minimum=%f", fQout[1]);
3a74204a 115 tListSetttings->AddLast(new TObjString(buf));
116
db2d5b4b 117 snprintf(buf, 200, "AliFemtoQPairCut.qside.maximum=%f", fQside[0]);
3a74204a 118 tListSetttings->AddLast(new TObjString(buf));
119
db2d5b4b 120 snprintf(buf, 200, "AliFemtoQPairCut.qside.minimum=%f", fQside[1]);
3a74204a 121 tListSetttings->AddLast(new TObjString(buf));
122
db2d5b4b 123 snprintf(buf, 200, "AliFemtoQPairCut.qlong.maximum=%f", fQlong[0]);
3a74204a 124 tListSetttings->AddLast(new TObjString(buf));
125
db2d5b4b 126 snprintf(buf, 200, "AliFemtoQPairCut.qlong.minimum=%f", fQlong[1]);
3a74204a 127 tListSetttings->AddLast(new TObjString(buf));
128
db2d5b4b 129 snprintf(buf, 200, "AliFemtoQPairCut.qinv.maximum=%f", fQinv[0]);
3a74204a 130 tListSetttings->AddLast(new TObjString(buf));
131
db2d5b4b 132 snprintf(buf, 200, "AliFemtoQPairCut.qinv.minimum=%f", fQinv[1]);
3a74204a 133 tListSetttings->AddLast(new TObjString(buf));
134
135 return tListSetttings;
136}