1 /***************************************************************************
5 * Author: Adam Kisiel, Ohio State, kisiel@mps.ohio-state.edu
6 ***************************************************************************
8 * Description: part of STAR HBT Framework: AliFemtoMaker package
9 * a cut to remove "shared" and "split" pairs
11 ***************************************************************************
14 **************************************************************************/
16 #include "AliFemtoShareQualityPairCut.h"
21 ClassImp(AliFemtoShareQualityPairCut)
25 AliFemtoShareQualityPairCut::AliFemtoShareQualityPairCut(){
26 fNPairsPassed = fNPairsFailed = 0;
27 fShareQualityMax = 1.0;
30 AliFemtoShareQualityPairCut::~AliFemtoShareQualityPairCut(){
34 bool AliFemtoShareQualityPairCut::Pass(const AliFemtoPair* pair){
41 for (unsigned int imap=0; imap<pair->track1()->Track()->TPCclusters().GetNbits(); imap++) {
42 // If both have clusters in the same row
43 if (pair->track1()->Track()->TPCclusters().TestBitNumber(imap) &&
44 pair->track2()->Track()->TPCclusters().TestBitNumber(imap)) {
46 if (pair->track1()->Track()->TPCsharing().TestBitNumber(imap) &&
47 pair->track2()->Track()->TPCsharing().TestBitNumber(imap))
49 // cout << "A shared cluster !!!" << endl;
50 // cout << "imap idx1 idx2 "
52 // << tP1idx[imap] << " " << tP2idx[imap] << endl;
58 // Different hits on the same padrow
64 else if (pair->track1()->Track()->TPCclusters().TestBitNumber(imap) ||
65 pair->track2()->Track()->TPCclusters().TestBitNumber(imap)) {
66 // One track has a hit, the other does not
79 // if (hsmval > -0.4) {
80 cout << "Pair quality: " << hsmval << " " << an << " " << nh << " "
81 << (pair->track1()->Track()) << " "
82 << (pair->track2()->Track()) << endl;
83 cout << "Bits: " << pair->track1()->Track()->TPCclusters().GetNbits() << endl;
86 cout << "Pair sharity: " << hsfval << " " << ns << " " << nh << " " << hsmval << " " << an << " " << nh << endl;
89 temp = hsmval < fShareQualityMax;
91 temp ? fNPairsPassed++ : fNPairsFailed++;
95 AliFemtoString AliFemtoShareQualityPairCut::Report(){
96 string Stemp = "AliFemtoShareQuality Pair Cut - remove shared and split pairs\n"; char Ctemp[100];
97 sprintf(Ctemp,"Number of pairs which passed:\t%ld Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed);
99 AliFemtoString returnThis = Stemp;
103 void AliFemtoShareQualityPairCut::SetShareQualityMax(Double_t aShareQualityMax) {
104 fShareQualityMax = aShareQualityMax;
107 Double_t AliFemtoShareQualityPairCut::GetAliFemtoShareQualityMax() {
108 return fShareQualityMax;