]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemtoUser/AliFemtoShareQualityKTPairCut.cxx
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemtoUser / AliFemtoShareQualityKTPairCut.cxx
CommitLineData
76ce4b5b 1/////////////////////////////////////////////////////////////////////////////
2// //
3// AliFemtoShareQualityKTPairCut - a pair cut which checks for some pair //
4// qualities that attempt to identify slit/doubly reconstructed tracks //
5// and selects pairs based on their transverse momentum kT //
6// //
7/////////////////////////////////////////////////////////////////////////////
8/***************************************************************************
9 *
10 * $Id: AliFemtoShareQualityKTPairCut.cxx,v 1.1.2.1 2007/10/19 13:35:33 akisiel Exp $
11 *
12 * Author: Adam Kisiel, Ohio State, kisiel@mps.ohio-state.edu
13 ***************************************************************************
14 *
15 * Description: part of STAR HBT Framework: AliFemtoMaker package
16 * a cut to remove "shared" and "split" pairs
17 *
18 ***************************************************************************
19 *
20 *
21 **************************************************************************/
22
23#include "AliFemtoShareQualityKTPairCut.h"
24#include <string>
25#include <cstdio>
26
27#ifdef __ROOT__
28ClassImp(AliFemtoShareQualityKTPairCut)
29#endif
30
31//__________________
32AliFemtoShareQualityKTPairCut::AliFemtoShareQualityKTPairCut():
33 AliFemtoShareQualityPairCut(),
34 fKTMin(0),
35 fKTMax(1.0e6)
36{
37}
38//__________________
39AliFemtoShareQualityKTPairCut::AliFemtoShareQualityKTPairCut(const AliFemtoShareQualityKTPairCut& c) :
40 AliFemtoShareQualityPairCut(c),
41 fKTMin(0),
42 fKTMax(1.0e6)
43{
44 fKTMin = c.fKTMin;
45 fKTMax = c.fKTMax;
46}
47
48//__________________
49AliFemtoShareQualityKTPairCut::~AliFemtoShareQualityKTPairCut(){
50 /* no-op */
51}
52//__________________
53AliFemtoShareQualityKTPairCut& AliFemtoShareQualityKTPairCut::operator=(const AliFemtoShareQualityKTPairCut& c){
54 if (this != &c) {
55 AliFemtoPairCut::operator=(c);
56
57 fKTMin = c.fKTMin;
58 fKTMax = c.fKTMax;
59 }
60
61 return *this;
62}
63//__________________
64bool AliFemtoShareQualityKTPairCut::Pass(const AliFemtoPair* pair){
65 // Accept a pair base on its Kt and sharity and quality
66 bool temp = true;
67
68 if (pair->KT() < fKTMin)
69 temp = false;
70
71 if (pair->KT() > fKTMax)
72 temp = false;
73
74 if (temp) {
75 temp = AliFemtoShareQualityPairCut::Pass(pair);
76 }
77 else
78 fNPairsFailed++;
79
80 return temp;
81}
82//__________________
83AliFemtoString AliFemtoShareQualityKTPairCut::Report(){
84 // Prepare a report from execution
85 string stemp = "AliFemtoShareQuality Pair Cut - remove shared and split pairs\n"; char ctemp[100];
86 snprintf(ctemp , 100, "Accept pair with kT in range %f , %f",fKTMin,fKTMax);
87 stemp += ctemp;
88 snprintf(ctemp , 100, "Number of pairs which passed:\t%ld Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed);
89 stemp += ctemp;
90 AliFemtoString returnThis = stemp;
91 return returnThis;}
92//__________________
93
94TList *AliFemtoShareQualityKTPairCut::ListSettings()
95{
96 // return a list of settings in a writable form
97 TList *tListSetttings = AliFemtoShareQualityPairCut::ListSettings();
98 char buf[200];
99 snprintf(buf, 200, "AliFemtoShareQualityKTPairCut.ktmax=%f", fKTMax);
100 tListSetttings->AddLast(new TObjString(buf));
101 snprintf(buf, 200, "AliFemtoShareQualityKTPairCut.ktmin=%f", fKTMin);
102 tListSetttings->AddLast(new TObjString(buf));
103
104 return tListSetttings;
105}
106
107void AliFemtoShareQualityKTPairCut::SetKTRange(double ktmin, double ktmax)
108{
109 // Set the accepted kT range
110 fKTMin = ktmin;
111 fKTMax = ktmax;
112}