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():
32 AliFemtoShareQualityPairCut::~AliFemtoShareQualityPairCut(){
36 bool AliFemtoShareQualityPairCut::Pass(const AliFemtoPair* pair){
43 for (unsigned int imap=0; imap<pair->track1()->Track()->TPCclusters().GetNbits(); imap++) {
44 // If both have clusters in the same row
45 if (pair->track1()->Track()->TPCclusters().TestBitNumber(imap) &&
46 pair->track2()->Track()->TPCclusters().TestBitNumber(imap)) {
48 if (pair->track1()->Track()->TPCsharing().TestBitNumber(imap) &&
49 pair->track2()->Track()->TPCsharing().TestBitNumber(imap))
51 // cout << "A shared cluster !!!" << endl;
52 // cout << "imap idx1 idx2 "
54 // << tP1idx[imap] << " " << tP2idx[imap] << endl;
60 // Different hits on the same padrow
66 else if (pair->track1()->Track()->TPCclusters().TestBitNumber(imap) ||
67 pair->track2()->Track()->TPCclusters().TestBitNumber(imap)) {
68 // One track has a hit, the other does not
81 // if (hsmval > -0.4) {
82 cout << "Pair quality: " << hsmval << " " << an << " " << nh << " "
83 << (pair->track1()->Track()) << " "
84 << (pair->track2()->Track()) << endl;
85 cout << "Bits: " << pair->track1()->Track()->TPCclusters().GetNbits() << endl;
88 cout << "Pair sharity: " << hsfval << " " << ns << " " << nh << " " << hsmval << " " << an << " " << nh << endl;
91 temp = hsmval < fShareQualityMax;
93 temp ? fNPairsPassed++ : fNPairsFailed++;
97 AliFemtoString AliFemtoShareQualityPairCut::Report(){
98 string Stemp = "AliFemtoShareQuality Pair Cut - remove shared and split pairs\n"; char Ctemp[100];
99 sprintf(Ctemp,"Number of pairs which passed:\t%ld Number which failed:\t%ld\n",fNPairsPassed,fNPairsFailed);
101 AliFemtoString returnThis = Stemp;
105 void AliFemtoShareQualityPairCut::SetShareQualityMax(Double_t aShareQualityMax) {
106 fShareQualityMax = aShareQualityMax;
109 Double_t AliFemtoShareQualityPairCut::GetAliFemtoShareQualityMax() {
110 return fShareQualityMax;