fPIDResponse(NULL),
fesdTrackCuts(NULL),
fEtaCut(0.9),
- fEtaShift(0.0),
fDoEtaCut(kFALSE),
fPtMinCut(0.0),
fPtMaxCut(9999),
fMassCutPtMin(-100.0),
fMassMinCut(-999.),
fDoWeights(kFALSE),
+ fUseVPhotonMCPSmearing(kFALSE),
+ fUseElectronMCPSmearing(kFALSE),
fCutString(NULL),
hCutIndex(NULL),
hdEdxCuts(NULL),
hTrackDCAzPtbefore(NULL),
hTrackDCAzPtafter(NULL),
hTrackNFindClsPtTPCbefore(NULL),
- hTrackNFindClsPtTPCafter(NULL)
+ hTrackNFindClsPtTPCafter(NULL),
+ hTrackPosEtabeforeDedx(NULL),
+ hTrackNegEtabeforeDedx(NULL),
+ hTrackPosEtaafterDedx(NULL),
+ hTrackNegEtaafterDedx(NULL)
{
InitPIDResponse();
for(Int_t jj=0;jj<kNCuts;jj++){fCuts[jj]=0;}
hTrackNFindClsPtTPCafter = new TH2F(Form("hTrack_NFindCls_Pt_TPC_after %s",cutName.Data()),"Track: N Findable Cls TPC Vs Pt after",60,0,1.5,kPtBins,binsPtDummy);
fHistograms->Add(hTrackNFindClsPtTPCafter);
+ hTrackPosEtabeforeDedx = new TH1F(Form("hTrack_Pos_Eta_before_Dedx %s",cutName.Data()),"hTrack_Pos_Eta_before_Dedx",600,-1.5,1.5);
+ fHistograms->Add(hTrackPosEtabeforeDedx);
+
+ hTrackNegEtabeforeDedx = new TH1F(Form("hTrack_Neg_Eta_before_Dedx %s",cutName.Data()),"hTrack_Neg_Eta_before_Dedx",600,-1.5,1.5);
+ fHistograms->Add(hTrackNegEtabeforeDedx);
+
+ hTrackPosEtaafterDedx = new TH1F(Form("hTrack_Pos_Eta_after_Dedx %s",cutName.Data()),"hTrack_Pos_Eta_after_Dedx",600,-1.5,1.5);
+ fHistograms->Add(hTrackPosEtaafterDedx);
+
+ hTrackNegEtaafterDedx = new TH1F(Form("hTrack_Neg_Eta_afterDedx %s",cutName.Data()),"hTrack_Neg_Eta_after_Dedx",600,-1.5,1.5);
+ fHistograms->Add(hTrackNegEtaafterDedx);
+
TAxis *AxisAfter = hTPCdEdxafter->GetXaxis();
if( TMath::Abs( particle->GetPdgCode() ) != 11 ) return kFALSE;
if( fDoEtaCut ){
- if( particle->Eta() > (fEtaCut + fEtaShift) || particle->Eta() < (-fEtaCut + fEtaShift) )
+ if( particle->Eta() > fEtaCut || particle->Eta() < -fEtaCut )
return kFALSE;
}
return kFALSE;
}
-
+ if( lTrack->GetSign() > 0.0 ){
+
+ if (hTrackPosEtabeforeDedx) hTrackPosEtabeforeDedx->Fill(lTrack->Eta());
+
+ } else{
+
+ if(hTrackNegEtabeforeDedx) hTrackNegEtabeforeDedx->Fill(lTrack->Eta());
+
+ }
+
+
// dEdx Cuts
if( ! dEdxCuts( track ) ) {
if(hCutIndex)hCutIndex->Fill(kdEdxCuts);
return kFALSE;
}
+
+ if( lTrack->GetSign() > 0.0 ){
+
+ if( hTrackPosEtaafterDedx) hTrackPosEtaafterDedx->Fill(lTrack->Eta());
+
+ } else{
+
+ if( hTrackNegEtaafterDedx) hTrackNegEtaafterDedx->Fill(lTrack->Eta());
+
+ }
+
+
//Electron passed the cuts
if(hCutIndex)hCutIndex->Fill(kElectronOut);
}
if( fDoEtaCut ) {
- if( lTrack->Eta() > (fEtaCut + fEtaShift) || lTrack->Eta() < (-fEtaCut + fEtaShift) ) {
+ if( lTrack->Eta() > fEtaCut || lTrack->Eta() < -fEtaCut ) {
return kFALSE;
}
}
return kTRUE;
} else return kFALSE;
-
+ case kuseVPhotonMCPSmearing:
+
+ if( SetUseVPhotonMCPmearing(value)) {
+ fCuts[kuseVPhotonMCPSmearing] = value;
+ UpdateCutString(cutID, value);
+ return kTRUE;
+ } else return kFALSE;
+
case kNCuts:
cout << "Error:: Cut id out of range"<< endl;
return kFALSE;
case 7: fesdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kOff);
fesdTrackCuts->SetMinNClustersITS(4);
break;
+ case 8: fesdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kBoth);
+ break;
+ case 9: fesdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kBoth);
+ fesdTrackCuts->SetMinNClustersITS(4);
+ break;
+
default:
cout<<"Warning: clsITSCut not defined "<<clsITSCut<<endl;
return kFALSE;
case 4: fPtMinCut = 0.5;
fPtMaxCut = 0.7;
break;
+ case 5: // 0.175 GeV
+ fPtMinCut = 0.175;
+ fPtMaxCut = 9999;
+ break;
default:
cout<<"Warning: PtCut not defined "<<ptCut<<endl;
return kFALSE;
fDeltaPhiCutMin = 0.0;
fDeltaPhiCutMax = 0.12;
break;
+ case 5:
+ fDoPsiPairCut = kTRUE;
+ fPsiPairCut = 0.60;
+ fDeltaPhiCutMin = 0.0;
+ fDeltaPhiCutMax = 0.06;
+ break;
+
default:
cout<<"Warning: PsiPairCut not defined "<<fPsiPairCut<<endl;
}
return kTRUE;
}
-
+Bool_t AliDalitzElectronCuts::SetUseVPhotonMCPmearing(Int_t useMCPSmearing)
+{// Set Cut
+ switch(useMCPSmearing){
+
+ case 0:
+ fUseVPhotonMCPSmearing=kFALSE;
+ fUseElectronMCPSmearing=kFALSE;
+ break;
+ case 1:
+ fUseVPhotonMCPSmearing=kTRUE;
+ fUseElectronMCPSmearing=kFALSE;
+ break;
+ case 2:
+ fUseVPhotonMCPSmearing=kFALSE;
+ fUseElectronMCPSmearing=kTRUE;
+ break;
+
+
+ default: cout<<"Warning: Virtual Photon SMearing not defined "<<useMCPSmearing<<endl;
+ return kFALSE;
+
+ }
+
+ return kTRUE;
+}
///________________________________________________________________________