if (!fEvt) return;
AliESDEvent * evt = 0x0 ;
evt = dynamic_cast<AliESDEvent*>(fEvt);
+ if (!evt) {
+ AliError("event not found");
+ return;
+ }
const AliESDVertex *vtx = evt->GetVertex();
const Double_t Bz = evt->GetMagneticField();
AliExternalTrackParam *cParam = 0;
return;
}
- if (!fEvt) return;
AliAODEvent * evt = 0x0;
evt = dynamic_cast<AliAODEvent*>(fEvt);
+ if (!evt) return;
+
// primary vertex is the "best": tracks, SPD or TPC vertex
AliAODVertex * primaryVertex = evt->GetVertex(0);
// dca = track postion - primary vertex position
AliError("object must derived from AliVParticle !");
return;
}
+
+ AliESDtrack * esdTrack = dynamic_cast<AliESDtrack*>(obj);
+ AliAODTrack * aodTrack = dynamic_cast<AliAODTrack*>(obj);
- Bool_t isESDTrack = strcmp(obj->ClassName(),"AliESDtrack") == 0 ? kTRUE : kFALSE ;
- Bool_t isAODTrack = strcmp(obj->ClassName(),"AliAODTrack") == 0 ? kTRUE : kFALSE ;
+ if (!(esdTrack || aodTrack)) {
+ AliError("object must be an ESDtrack or an AODtrack !");
+ return;
+ }
- AliESDtrack * esdTrack = 0x0 ;
- AliAODTrack * aodTrack = 0x0 ;
- if (isESDTrack) esdTrack = dynamic_cast<AliESDtrack*>(obj);
- if (isAODTrack) aodTrack = dynamic_cast<AliAODTrack*>(obj);
+ Bool_t isESDTrack = kFALSE;
+ Bool_t isAODTrack = kFALSE;
+
+ if (esdTrack) isESDTrack = strcmp(obj->ClassName(),"AliESDtrack") == 0 ? kTRUE : kFALSE ;
+ if (aodTrack) isAODTrack = strcmp(obj->ClassName(),"AliAODTrack") == 0 ? kTRUE : kFALSE ;
// get the track to vertex parameter for ESD track
if (isESDTrack) GetDCA(esdTrack);
return;
}
//__________________________________________________________________________________
-Bool_t AliCFTrackIsPrimaryCuts::IsSelected(TObject* obj, TObject *obj2) {
+Bool_t AliCFTrackIsPrimaryCuts::IsSelected(TObject* obj) {
//
// loops over decisions of single cuts and returns if the track is accepted
//
fhCutCorrelation->GetYaxis()->SetBinLabel(9,"AOD type");
// book QA histograms
- Char_t str[256];
+ Char_t str[5];
for (Int_t i=0; i<kNStepQA; i++) {
- if (i==0) sprintf(str," ");
- else sprintf(str,"_cut");
+ if (i==0) snprintf(str,5," ");
+ else snprintf(str,5,"_cut");
fhDcaXYvsDcaZ[i] = new TH2F(Form("%s_dcaXYvsDcaZ%s",GetName(),str),"",200,-10,10,200,-10,10);
fhQA[kCutNSigmaToVertex][i] = new TH1F(Form("%s_nSigmaToVertex%s",GetName(),str),"",fhNBinsNSigma-1,fhBinLimNSigma);
//
if (!obj) return;
-
Bool_t isESDTrack = strcmp(obj->ClassName(),"AliESDtrack") == 0 ? kTRUE : kFALSE ;
Bool_t isAODTrack = strcmp(obj->ClassName(),"AliAODTrack") == 0 ? kTRUE : kFALSE ;
fhQA[kDcaXYnorm][f]->Fill(fDCA[0]);
fhQA[kCutNSigmaToVertex][f]->Fill(fDCA[5]);
- if (fDCA[5]<0 && fRequireSigmaToVertex) fhQA[kCutRequireSigmaToVertex][f]->Fill(0.);
- if (!(fDCA[5]<0 && fRequireSigmaToVertex)) fhQA[kCutRequireSigmaToVertex][f]->Fill(1.);
-
- if (!fAcceptKinkDaughters && esdTrack->GetKinkIndex(0)>0) fhQA[kCutAcceptKinkDaughters][f]->Fill(0.);
- if (!(!fAcceptKinkDaughters && esdTrack->GetKinkIndex(0)>0)) fhQA[kCutAcceptKinkDaughters][f]->Fill(0.);
+ if (fDCA[5]<0 && fRequireSigmaToVertex)
+ fhQA[kCutRequireSigmaToVertex][f]->Fill(0.);
+ else
+ fhQA[kCutRequireSigmaToVertex][f]->Fill(1.);
+
+ if (!fAcceptKinkDaughters && esdTrack->GetKinkIndex(0)>0)
+ fhQA[kCutAcceptKinkDaughters][f]->Fill(0.);
+ else
+ fhQA[kCutAcceptKinkDaughters][f]->Fill(1.);
}
// fill cut statistics and cut correlation histograms with information from the bitmap
if (f) return;
// Get the bitmap of the single cuts
- if ( !obj ) return;
SelectionBitMap(obj);
// Number of single cuts in this class