1 /////////////////////////////////////////////////////////////////////////////
3 // AliFemtoShareQualityTPCEntranceSepQAPairCut - a pair cut which checks //
4 // for some pair qualities that attempt to identify slit/doubly //
5 // reconstructed tracks and also selects pairs based on their separation //
6 // at the entrance to the TPC //
8 /////////////////////////////////////////////////////////////////////////////
9 /***************************************************************************
11 * $Id: AliFemtoShareQualityTPCEntranceSepQAPairCut.cxx,v 1.1.2.1 2007/10/19 13:35:33 akisiel Exp $
13 * Author: Adam Kisiel, Ohio State, kisiel@mps.ohio-state.edu
14 ***************************************************************************
16 * Description: part of STAR HBT Framework: AliFemtoMaker package
17 * a cut to remove "shared" and "split" pairs
19 ***************************************************************************
22 **************************************************************************/
24 #include "AliFemtoShareQualityTPCEntranceSepQAPairCut.h"
29 ClassImp(AliFemtoShareQualityTPCEntranceSepQAPairCut)
33 AliFemtoShareQualityTPCEntranceSepQAPairCut::AliFemtoShareQualityTPCEntranceSepQAPairCut():
34 AliFemtoShareQualityQAPairCut(),
39 fDTPCQASwitch = false;
40 fDTPCQAExclusionZone[0] = 0.0;
41 fDTPCQAExclusionZone[1] = 1000.0;
44 AliFemtoShareQualityTPCEntranceSepQAPairCut::AliFemtoShareQualityTPCEntranceSepQAPairCut(const AliFemtoShareQualityTPCEntranceSepQAPairCut& c) :
45 AliFemtoShareQualityQAPairCut(c),
50 fDTPCMin = c.fDTPCMin;
51 fDTPCMax = c.fDTPCMax;
52 fDTPCQASwitch = c.fDTPCQASwitch;
53 fDTPCQAExclusionZone[0] = c.fDTPCQAExclusionZone[0];
54 fDTPCQAExclusionZone[1] = c.fDTPCQAExclusionZone[1];
58 AliFemtoShareQualityTPCEntranceSepQAPairCut& AliFemtoShareQualityTPCEntranceSepQAPairCut::operator=(const AliFemtoShareQualityTPCEntranceSepQAPairCut& aCut)
60 // assignment operator
64 fDTPCMin = aCut.fDTPCMin;
65 fDTPCMax = aCut.fDTPCMax;
66 fDTPCQASwitch = aCut.fDTPCQASwitch;
67 fDTPCQAExclusionZone[0] = aCut.fDTPCQAExclusionZone[0];
68 fDTPCQAExclusionZone[1] = aCut.fDTPCQAExclusionZone[1];
74 AliFemtoShareQualityTPCEntranceSepQAPairCut::~AliFemtoShareQualityTPCEntranceSepQAPairCut(){
78 bool AliFemtoShareQualityTPCEntranceSepQAPairCut::Pass(const AliFemtoPair* pair){
79 // Accept pairs based on their TPC entrance separation and
80 // quality and sharity
83 double distx = pair->Track1()->Track()->NominalTpcEntrancePoint().x() - pair->Track2()->Track()->NominalTpcEntrancePoint().x();
84 double disty = pair->Track1()->Track()->NominalTpcEntrancePoint().y() - pair->Track2()->Track()->NominalTpcEntrancePoint().y();
85 double distz = pair->Track1()->Track()->NominalTpcEntrancePoint().z() - pair->Track2()->Track()->NominalTpcEntrancePoint().z();
86 double dist = sqrt(distx*distx + disty*disty + distz*distz);
89 pass = ((dist > fDTPCMin) && (dist < fDTPCQAExclusionZone[0])) ||
90 ((dist > fDTPCQAExclusionZone[1]) && (dist < fDTPCMax));
93 pass = (dist > fDTPCMin) && (dist < fDTPCMax);
97 pass = AliFemtoShareQualityQAPairCut::Pass(pair);
105 AliFemtoString AliFemtoShareQualityTPCEntranceSepQAPairCut::Report(){
106 // Prepare a report from the execution
107 string stemp = "AliFemtoShareQualityTPCEntranceSep Pair Cut - remove shared and split pairs and pairs with small separation at the entrance to the TPC\n"; char ctemp[100];
108 snprintf(ctemp , 100, "Accept pair with TPC entrance separation more that %f",fDTPCMin);
110 snprintf(ctemp , 100, "Number of pairs which passed:\t%ld Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed);
112 AliFemtoString returnThis = stemp;
116 TList *AliFemtoShareQualityTPCEntranceSepQAPairCut::ListSettings()
118 // return a list of settings in a writable form
119 TList *tListSetttings = AliFemtoShareQualityQAPairCut::ListSettings();
121 snprintf(buf, 200, "AliFemtoShareQualityTPCEntranceSepQAPairCut.tpcentsepmin=%f", fDTPCMin);
122 tListSetttings->AddLast(new TObjString(buf));
124 return tListSetttings;
127 void AliFemtoShareQualityTPCEntranceSepQAPairCut::SetTPCEntranceSepMinimum(double dtpc)
132 void AliFemtoShareQualityTPCEntranceSepQAPairCut::SetTPCEntranceSepMaximum(double dtpc)
137 void AliFemtoShareQualityTPCEntranceSepQAPairCut::SetTPCEntranceSepQASwitch(bool Switch)
139 fDTPCQASwitch = Switch;
142 void AliFemtoShareQualityTPCEntranceSepQAPairCut::SetTPCEntranceSepQAExclusionZone(double lo, double hi)
144 fDTPCQAExclusionZone[0] = lo;
145 fDTPCQAExclusionZone[1] = hi;