fTrackCutsTPConly(0x0),
fTrackType(0),
fFilterMask(0),
+ fIncludeNoITS(kFALSE),
fSigmaConstrainedMax(-1.),
fPtMax(100.),
fIsPbPb(0),
fPtSel(0),
fPtPhi(0x0),
fPtEta(0x0),
+ fPtEtaPhi(0x0),
fPtDCA2D(0x0),
fPtDCAZ(0x0),
fPtNClustersTPC(0x0),
fPtNClustersTPCShared(0x0),
fPtNClustersTPCSharedFrac(0x0),
fPtNPointITS(0x0),
+ fPtNPointITSPhi(0x0),
fPtChi2C(0x0),
fPtNSigmaToVertex(0x0),
fPtRelUncertainty1Pt(0x0),
fTrackCutsTPConly(0x0),
fTrackType(0),
fFilterMask(0),
+ fIncludeNoITS(kFALSE),
fSigmaConstrainedMax(-1.),
fPtMax(100.),
fIsPbPb(0),
fPtSel(0),
fPtPhi(0x0),
fPtEta(0x0),
+ fPtEtaPhi(0x0),
fPtDCA2D(0x0),
fPtDCAZ(0x0),
fPtNClustersTPC(0x0),
fPtNClustersTPCShared(0x0),
fPtNClustersTPCSharedFrac(0x0),
fPtNPointITS(0x0),
+ fPtNPointITSPhi(0x0),
fPtChi2C(0x0),
fPtNSigmaToVertex(0x0),
fPtRelUncertainty1Pt(0x0),
fHistList->Add(fh1NTracksAll);
fh1NTracksReject = new TH1F("fh1NTracksReject","fh1NTracksReject",1,-0.5,0.5);
+ fh1NTracksReject->Fill("noHybridTrack",0);
+ fh1NTracksReject->Fill("noITSrefit",0);
fh1NTracksReject->Fill("noESDtrack",0);
fh1NTracksReject->Fill("noTPCInner",0);
fh1NTracksReject->Fill("FillTPC",0);
fPtEta = new TH2F("fPtEta","fPtEta",fgkNPtBins,binsPt,fgkNEtaBins,binsEta);
fHistList->Add(fPtEta);
+
+ fPtEtaPhi = new TH3F("fPtEtaPhi","fPtEtaPhi",fgkNPtBins,binsPt,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
+ fHistList->Add(fPtEtaPhi);
fPtDCA2D = new TH2F("fPtDCA2D","fPtDCA2D",fgkNPtBins,binsPt,fgkNDCA2DBins,binsDCA2D);
fHistList->Add(fPtDCA2D);
fPtNPointITS = new TH2F("fPtNPointITS","fPtNPointITS",fgkNPtBins,binsPt,fgkNNPointITSBins,binsNPointITS);
fHistList->Add(fPtNPointITS);
+
+ fPtNPointITSPhi = new TH3F("fPtNPointITSPhi","fPtNPointITSPhi",fgkNPtBins,binsPt,fgkNNPointITSBins,binsNPointITS,fgkNPhiBins,binsPhi);
+ fHistList->Add(fPtNPointITSPhi);
fPtChi2C = new TH2F("fPtChi2C","fPtChi2C",fgkNPtBins,binsPt,fgkNChi2CBins,binsChi2C);
fHistList->Add(fPtChi2C);
if(binsDCA2D) delete [] binsDCA2D;
if(binsDCAZ) delete [] binsDCAZ;
if(binsNPointITS) delete [] binsNPointITS;
+ if(binsITSClusterMap) delete [] binsITSClusterMap;
if(binsNSigmaToVertex) delete [] binsNSigmaToVertex;
if(binsChi2C) delete [] binsChi2C;
if(binsEta) delete [] binsEta;
if(fTrackType==1)
track = AliESDtrackCuts::GetTPCOnlyTrack(fESD,esdtrack->GetID());
else if(fTrackType==2 || fTrackType==4) {
- track = AliESDtrackCuts::GetTPCOnlyTrack(fESD,esdtrack->GetID());
+ track = AliESDtrackCuts::GetTPCOnlyTrack(const_cast<AliESDEvent*>(fESD),esdtrack->GetID());
if(!track) {
fh1NTracksReject->Fill("noTPConly",1);
if(origtrack) delete origtrack;
if (!(fTrackCuts->AcceptTrack(track)) && fTrackType!=4 && fTrackType!=5 && fTrackType!=6) {
fh1NTracksReject->Fill("trackCuts",1);
if(fTrackType==1 || fTrackType==2 || fTrackType==7) {
- if(track) delete track;
+ if(track) delete track;
}
if(origtrack) delete origtrack;
continue;
// Do QA on AOD input
//
AliAODEvent *aod = dynamic_cast<AliAODEvent*>(fEvent);
- if(!aod)return;
- AliExternalTrackParam *exParam = new AliExternalTrackParam();
+ if(!aod) return;
+ AliExternalTrackParam exParam;
for (Int_t iTrack = 0; iTrack < fEvent->GetNumberOfTracks(); iTrack++) {
AliAODTrack *aodtrack = aod->GetTrack(iTrack);
- if( !aodtrack->TestFilterMask(fFilterMask) ) continue;
+ // if(aodtrack->GetFilterMap()>128 && aodtrack->GetFilterMap()<1333)
+ // Printf("filterMask = %d",aodtrack->GetFilterMap());
+ // if(aodtrack->IsHybridGlobalConstrainedGlobal()) {
+ // Printf("hybrid filterMask = %d",aodtrack->GetFilterMap());
+ // if(aodtrack->IsGlobalConstrained())
+ // Printf("global constrained filterMask = %d",aodtrack->GetFilterMap());
+ // }
+ if( !aodtrack->TestFilterMask(fFilterMask) ) {
+ fh1NTracksReject->Fill("noHybridTrack",1);
+ continue;
+ }
+
+ if(!fIncludeNoITS) {
+ if ((aodtrack->GetStatus()&AliESDtrack::kITSrefit)==0) {
+ fh1NTracksReject->Fill("noITSrefit",1);
+ continue;
+ }
+ }
fVariables->Reset(0.);
Double_t xyz[3] = {0,};
aodtrack->GetXYZ(xyz);
Short_t sign = aodtrack->Charge();
- exParam->Set(xyz,pxpypz,cov,sign);
+ exParam.Set(xyz,pxpypz,cov,sign);
- fVariables->SetAt(exParam->GetSigmaY2(),13);
- fVariables->SetAt(exParam->GetSigmaZ2(),14);
- fVariables->SetAt(exParam->GetSigmaSnp2(),15);
- fVariables->SetAt(exParam->GetSigmaTgl2(),16);
- fVariables->SetAt(exParam->GetSigma1Pt2(),17);
+ fVariables->SetAt(exParam.GetSigmaY2(),13);
+ fVariables->SetAt(exParam.GetSigmaZ2(),14);
+ fVariables->SetAt(exParam.GetSigmaSnp2(),15);
+ fVariables->SetAt(exParam.GetSigmaTgl2(),16);
+ fVariables->SetAt(exParam.GetSigma1Pt2(),17);
fVariables->SetAt(0.,18); //NClustersTPCIter1
fVariables->SetAt(0.,19); //Chi2TPCIter1
fPtSel->Fill(fVariables->At(0));
fPtPhi->Fill(fVariables->At(0),fVariables->At(1));
fPtEta->Fill(fVariables->At(0),fVariables->At(2));
+ fPtEtaPhi->Fill(fVariables->At(0),fVariables->At(2),fVariables->At(1));
fPtDCA2D->Fill(fVariables->At(0),fVariables->At(3));
fPtDCAZ->Fill(fVariables->At(0),fVariables->At(4));
fPtNClustersTPC->Fill(fVariables->At(0),fVariables->At(5));
fPtNPointITS->Fill(fVariables->At(0),fVariables->At(6));
-
+ fPtNPointITSPhi->Fill(fVariables->At(0),fVariables->At(6),fVariables->At(1));
fPtNClustersTPCIter1->Fill(fVariables->At(0),fVariables->At(18));
fPtNClustersTPCIter1Phi->Fill(fVariables->At(0),fVariables->At(18),fVariables->At(1));