// Task for Heavy-flavour electron analysis in pPb collisions //
// (+ Electron-Hadron Jetlike Azimuthal Correlation) //
// //
- // version: June 18, 2014. //
+ // version: July 28, 2014. //
// //
// Authors //
// Elienos Pereira de Oliveira Filho (epereira@cern.ch) //
,fM02CutMax(10)
,fAngleCut(999)
,fChi2Cut(3.5)
-,fDCAcut(999)
+,fDCAcut(999)//dca between two tracks
+,fDCAcutr(999)//dca to vertex
+,fDCAcutz(999)//dca to vertex
,fMassCutFlag(kTRUE)
,fAngleCutFlag(kFALSE)
,fChi2CutFlag(kFALSE)
,fM02CutMax(10)
,fAngleCut(999)
,fChi2Cut(3.5)
-,fDCAcut(999)
+,fDCAcut(999)//dca between two tracks
+,fDCAcutr(999)//dca to vertex
+,fDCAcutz(999)//dca to vertex
,fMassCutFlag(kTRUE)
,fAngleCutFlag(kFALSE)
,fChi2CutFlag(kFALSE)
for(Int_t i = 0; i < 3; i++)
{
- fEoverP_pt[i] = new TH2F(Form("fEoverP_pt%d",i),";p_{t} (GeV/c);E / p ",1000,0,30,500,0,2);
+ fEoverP_pt[i] = new TH2F(Form("fEoverP_pt%d",i),";p_{t} (GeV/c);E / p ",1000,0,30,2000,0,2);
fTPC_p[i] = new TH2F(Form("fTPC_p%d",i),";pt (GeV/c);TPC dE/dx (a. u.)",1000,0.3,15,1000,-20,200);
fTPCnsigma_p[i] = new TH2F(Form("fTPCnsigma_p%d",i),";p (GeV/c);TPC Electron N#sigma",1000,0.3,15,1000,-15,10);
fNcells_pt=new TH2F("fNcells_pt","fNcells_pt",1000, 0,20,100,0,30);
- fEoverP_pt_pions= new TH2F("fEoverP_pt_pions","fEoverP_pt_pions",1000,0,30,500,0,2);
+ fEoverP_pt_pions= new TH2F("fEoverP_pt_pions","fEoverP_pt_pions",1000,0,30,2000,0,2);
ftpc_p_EoverPcut= new TH2F("ftpc_p_EoverPcut","ftpc_p_EoverPcut",1000,0,30,200,20,200);
fnsigma_p_EoverPcut= new TH2F("fnsigma_p_EoverPcut","fnsigma_p_EoverPcut",1000,0,30,500,-15,15);
- fEoverP_pt_pions2= new TH2F("fEoverP_pt_pions2","fEoverP_pt_pions2",1000,0,30,500,0,2);
- fEoverP_pt_hadrons= new TH2F("fEoverP_pt_hadrons","fEoverP_pt_hadrons",1000,0,30,500,0,2);
+ fEoverP_pt_pions2= new TH2F("fEoverP_pt_pions2","fEoverP_pt_pions2",1000,0,30,2000,0,2);
+ fEoverP_pt_hadrons= new TH2F("fEoverP_pt_hadrons","fEoverP_pt_hadrons",1000,0,30,2000,0,2);
fOutputList->Add(fTPCnsigma_eta);
}
//RecPrim
- if(!fIsAOD)
- {
- if(!ProcessCutStep(AliHFEcuts::kStepRecPrim, track)) continue;
- }
+
+ //it was not working on aod... testing again
+ //July 29th, 2014: aparently working again
+
+///if(!fIsAOD)
+//{
+
+ if(!ProcessCutStep(AliHFEcuts::kStepRecPrim, track)) continue;
+//}
//HFEcuts: ITS layers cuts
if(!ProcessCutStep(AliHFEcuts::kStepHFEcutsITS, track)) continue;
//HFE cuts: TPC PID cleanup
if(!ProcessCutStep(AliHFEcuts::kStepHFEcutsTPC, track)) continue;
+
+//DCA cut done by hand -- July 29th, 2014
+ if(fIsAOD){
+ Double_t d0z0[2], cov[3];
+ AliAODVertex *prim_vtx = fAOD->GetPrimaryVertex();
+ track->PropagateToDCA(prim_vtx, fAOD->GetMagneticField(), 20., d0z0, cov);
+ Double_t DCAxy = d0z0[0];
+ Double_t DCAz = d0z0[1];
+
+ if(DCAxy >= fDCAcutr || DCAz>=fDCAcutz) continue;
+ }
+
+
+
+
+
//______________________________________________________________________________________
if(fIsAOD){
- //AOD test -- Fancesco suggestion
+ //AOD test -- Francesco suggestion
//aod test -- Francesco suggestion
AliAODTrack *aod_track=fAOD->GetTrack(iTracks);
//testing this line for the DCA cut
//hfecuts->SetRequireDCAToVertex();
//DCA cut included in the analysis 12 March 2014
- if(configIndex==18) hfecuts->SetMaxImpactParam(2,5);
- else if(configIndex==19) hfecuts->SetMaxImpactParam(0.5,1);
+ if(configIndex==18) hfecuts->SetMaxImpactParam(2,3); //changed z to 3
+ else if(configIndex==19) hfecuts->SetMaxImpactParam(0.5,1);//r,z default on AOD 2.4, 3.2
else if(configIndex==83) hfecuts->SetMaxImpactParam(0.1,0.2);
else hfecuts->SetMaxImpactParam(1,2); //DCA to vertex
//Bool_t isTrigger = kFALSE;
if(isTrigger) task->SetUseTrigger();
+ if(configIndex==104) task->SetdcaCut(2,3);//r,z
+ else if(configIndex==105) task->SetdcaCut(1.5,2.5);//r,z
+ else if(configIndex==106) task->SetdcaCut(0.5,1);//r,z
+ else if(configIndex==107) task->SetdcaCut(0.5,1.5);//r,z
+ else if(configIndex==108) task->SetdcaCut(0.1,0.2);//r,z
+ //else task->SetdcaCut(1,2);//r,z
if(configIndex==100){
else if (configIndex==44) task->SetEtaCut(-0.5,0.5);
else if (configIndex==45) task->SetEtaCut(-0.4,0.4);
else if (configIndex==46) task->SetEtaCut(-0.3,0.3);
- //else if (configIndex==47) task->SetEtaCut(-0.4,0.4);
- //else if (configIndex==48) task->SetEtaCut(-0.3,0.3);
else task->SetEtaCut(-0.6,0.6);
//track matching cuts
//E/p Cuts
if (configIndex==60) task->SetEoverPCut(0.85,1.2);
- else if (configIndex==61) task->SetEoverPCut(0.75,1.25);
- else if (configIndex==88) task->SetEoverPCut(0.76,1.2);
- else if (configIndex==89) task->SetEoverPCut(0.78,1.2);
- else if (configIndex==90) task->SetEoverPCut(0.79,1.2);
- else if (configIndex==90) task->SetEoverPCut(0.81,1.2);
- else if (configIndex==90) task->SetEoverPCut(0.82,1.2);
- else if (configIndex==91) task->SetEoverPCut(0.84,1.2);
- else if (configIndex==92) task->SetEoverPCut(0.86,1.2);
- else if (configIndex==93) task->SetEoverPCut(0.85,1.3);
- else if (configIndex==62) task->SetEoverPCut(0.70,1.2);
- else if (configIndex==63) task->SetEoverPCut(0.80,1.25);
- else if (configIndex==64) task->SetEoverPCut(0.9,1.3);
- else if (configIndex==65) task->SetEoverPCut(0.95,1.3);
- else if (configIndex==66) task->SetEoverPCut(0.75,1.2);
- else task->SetEoverPCut(0.8,1.2);
+ else if (configIndex==61) task->SetEoverPCut(0.70,1.2);
+ else if (configIndex==62) task->SetEoverPCut(0.75,1.2);
+ else if (configIndex==63) task->SetEoverPCut(0.76,1.2);
+ else if (configIndex==64) task->SetEoverPCut(0.77,1.2);
+ else if (configIndex==65) task->SetEoverPCut(0.78,1.2);
+ else if (configIndex==66) task->SetEoverPCut(0.79,1.2);
+
+ else if (configIndex==67) task->SetEoverPCut(0.81,1.2);
+ else if (configIndex==68) task->SetEoverPCut(0.82,1.2);
+ else if (configIndex==69) task->SetEoverPCut(0.83,1.2);
+
+ else if (configIndex==88) task->SetEoverPCut(0.84,1.2);
+ else if (configIndex==89) task->SetEoverPCut(0.86,1.2);
+
+ else if (configIndex==90) task->SetEoverPCut(0.85,1.3);
+ else if (configIndex==91) task->SetEoverPCut(0.80,1.3);
+ else if (configIndex==92) task->SetEoverPCut(0.81,1.3);
+ else if (configIndex==93) task->SetEoverPCut(0.78,1.3);
+
+
+ else task->SetEoverPCut(0.80,1.2);