+
//__________________________________________________________________________________________
AliAnalysisTask *AddTask_ReducedTree(){
//get the current analysis manager
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
- Error("AddTask_iarsene_dst", "No analysis manager found.");
+ Error("AddTask_ReducedTree", "No analysis manager found.");
return 0;
}
//Do we have an MC handler?
Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
- //gROOT->LoadMacro("AliReducedEvent.cxx+g");
- //gROOT->LoadMacro("AliAnalysisTaskReducedTree.cxx+g");
-
//create task and add it to the manager
AliAnalysisTaskReducedTree *task=new AliAnalysisTaskReducedTree("DSTTreeMaker");
task->SetTriggerMask(AliVEvent::kMB+AliVEvent::kCentral+AliVEvent::kSemiCentral);
//if(trainConfig=="pp") task->SetRejectPileup();
- if(!hasMC) task->UsePhysicsSelection(kFALSE);
+ if(!hasMC) task->UsePhysicsSelection(kTRUE);
mgr->AddTask(task);
- task->SetFillV0Info(kFALSE);
+ // task->SetFillV0Info(kFALSE);
+ //task->SetFillGammaConversions(kFALSE);
+ task->SetFillK0s(kFALSE);
+ task->SetFillLambda(kFALSE);
+ task->SetFillALambda(kFALSE);
task->SetFillCaloClusterInfo(kFALSE);
- //task->SetFillFriendInfo(kFALSE);
+ //task->SetFillDielectronInfo(kFALSE);
+ task->SetFillFriendInfo(kFALSE);
task->SetEventFilter(CreateEventFilter());
task->SetTrackFilter(CreateGlobalTrackFilter());
task->SetK0sPionCuts(CreateK0sPionCuts());
task->SetLambdaProtonCuts(CreateLambdaProtonCuts());
task->SetLambdaPionCuts(CreateLambdaPionCuts());
+ task->SetGammaElectronCuts(CreateGammaConvElectronCuts());
task->SetK0sCuts(CreateK0sCuts());
task->SetK0sMassRange(0.44,0.55);
task->SetLambdaMassRange(1.090,1.14);
task->SetLambdaCuts(CreateLambdaCuts());
+ task->SetGammaConvCuts(CreateGammaConvCuts(AliESDv0KineCuts::kPurity, AliESDv0KineCuts::kPbPb));
+ task->SetGammaConvMassRange(0.0,0.1);
//task->SetV0Histograms(CreateV0Histograms());
- task->AddDielectron(ConfigDielectron(0)); // J/psi -> e+e-
+ //task->AddDielectron(ConfigDielectron(0)); // J/psi -> e+e-
//task->AddDielectron(ConfigDielectron(1)); // phi -> K+K-
//create output container
mgr->CreateContainer("qaHistos",
TList::Class(),
AliAnalysisManager::kOutputContainer,
- "dst_qaHistos.root");
+ "dst_Histos.root");
AliAnalysisDataContainer *cOutputHist2 =
mgr->CreateContainer("dstTree",
AliAnalysisManager::kOutputContainer,
"dstTree.root");
- AliAnalysisDataContainer *cOutputHist3 =
+ /*AliAnalysisDataContainer *cOutputHist3 =
mgr->CreateContainer("friendTree",
TTree::Class(),
AliAnalysisManager::kOutputContainer,
- "dstTree_friend.root");
+ "dstTree_friend.root");*/
/* cout << "output containers: " << endl
<< cOutputHist1 << endl
<< cOutputHist2 << endl
mgr->ConnectOutput(task, 0, coutput1 );
mgr->ConnectOutput(task, 1, cOutputHist1);
mgr->ConnectOutput(task, 2, cOutputHist2);
- mgr->ConnectOutput(task, 3, cOutputHist3);
+ //mgr->ConnectOutput(task, 3, cOutputHist3);
//mgr->ConnectOutput(task, 2, cOutputHist3);
-
+ //mgr->ConnectOutput(task, 1, cOutputHist2);
return task;
}
// basic track quality cuts (basicQ)
esdTrackCuts->SetMaxDCAToVertexZ(10.0);
esdTrackCuts->SetMaxDCAToVertexXY(3.0);
- esdTrackCuts->SetEtaRange( -0.9 , 0.9 );
+ esdTrackCuts->SetEtaRange( -1.0 , 1.0 );
//esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
- //esdTrackCuts->SetRequireITSRefit(kTRUE);
+ esdTrackCuts->SetRequireITSRefit(kTRUE);
esdTrackCuts->SetRequireTPCRefit(kTRUE);
- esdTrackCuts->SetPRange(0.8,1e30);
+ esdTrackCuts->SetPRange(0.2,1e30);
+ //esdTrackCuts->SetPtRange(0.15,1e30);
//esdTrackCuts->SetMinNClustersTPC(60);
//esdTrackCuts->SetMaxChi2PerClusterTPC(4);
// esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
// esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
cuts->AddCut(esdTrackCuts);
-
+
+ AliDielectronPID *electronPid = new AliDielectronPID("PID","PID cut");
+ electronPid->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.0, 4.0, 0.0, 0.0, kFALSE, AliDielectronPID::kRequire); // TPC 3-sigma inclusion for electron
+ electronPid->AddCut(AliDielectronPID::kTOF,AliPID::kProton, -3.0, 3.0, -2.0, 2.0, kTRUE, AliDielectronPID::kRequire,AliDielectronVarManager::kTPCnSigmaPro); // TPC exclusion for proton
+ cuts->AddCut(electronPid);
+
return cuts;
}
// Cuts on the K0s pions (tracking cuts, pid cuts, ...)
//
AliESDtrackCuts *pionCuts = new AliESDtrackCuts;
- pionCuts->SetPtRange(0.15,100.0);
+ pionCuts->SetPtRange(0.1,100.0);
+ pionCuts->SetRequireTPCRefit(kTRUE);
+ pionCuts->SetMinNClustersTPC(50);
return pionCuts;
}
// Cuts on the Lambda pions (tracking cuts, pid cuts, ...)
//
AliESDtrackCuts *pionCuts = new AliESDtrackCuts;
- pionCuts->SetPtRange(0.15,100.0);
+ pionCuts->SetPtRange(0.1,100.0);
return pionCuts;
}
// Cuts on the Lambda protons (tracking cuts, pid cuts, ...)
//
AliESDtrackCuts *protonCuts = new AliESDtrackCuts;
- protonCuts->SetPtRange(0.15,100.0);
+ protonCuts->SetPtRange(0.1,100.0);
return protonCuts;
}
+//______________________________________________________________________________________
+AliAnalysisCuts* CreateGammaConvElectronCuts() {
+ //
+ // Cuts for the selection of electrons from gamma conversions
+ //
+ AliESDtrackCuts* electronCuts = new AliESDtrackCuts;
+ electronCuts->SetRequireTPCRefit(kTRUE);
+ electronCuts->SetMinNClustersTPC(50);
+ return electronCuts;
+}
+
+
//______________________________________________________________________________________
AliESDv0Cuts* CreateK0sCuts() {
//
//cuts->SetMaxDcaV0Daughters(0.3);
//cuts->SetMinRadius(3.0);
//cuts->SetMaxRadius(90.0);
- //cuts->SetMinCosinePointingAngle(0.9);
+ cuts->SetMinCosinePointingAngle(0.8);
//cuts->SetRequireOnFlyStatus(kTRUE);
//cuts->SetMaxDcaV0ToVertex(0.5);
//cuts->SetPRange(0.,1.0e10);
}
+//______________________________________________________________________________________
+AliESDv0KineCuts* CreateGammaConvCuts(Int_t mode, Int_t type) {
+ //
+ // cuts for the selection of gamma conversions
+ //
+ AliESDv0KineCuts* cuts = new AliESDv0KineCuts();
+ cuts->SetMode(mode, type);
+
+ //cuts->SetNTPCclusters(60);
+ cuts->SetTPCrefit(kTRUE);
+ //cuts->SetTPCchi2perCls(4.0);
+ //cuts->SetTPCclusterratio(0.6);
+ cuts->SetNoKinks(kTRUE);
+ // gamma cuts
+ cuts->SetGammaCutChi2NDF(10.0);
+ Float_t cosPoint[2] = {0.0, 0.2};
+ //cuts->SetGammaCutCosPoint(cosPoint);
+ Float_t cutDCA[2] = {0.0, 1.25};
+ cuts->SetGammaCutDCA(cutDCA);
+ Float_t vtxR[2] = {3.0, 90.0};
+ cuts->SetGammaCutVertexR(vtxR);
+ Float_t psiPairCut[2]={0.0,0.10};
+ cuts->SetGammaCutPsiPair(psiPairCut);
+ cuts->SetGammaCutInvMass(0.1);
+
+ return cuts;
+}
+
+
//______________________________________________________________________________________
AliDielectronHistos* CreateV0Histograms()
{
esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
//esdTrackCuts->SetRequireITSRefit(kTRUE);
if(cutDefinition==0) esdTrackCuts->SetRequireTPCRefit(kTRUE);
- if(cutDefinition==0) esdTrackCuts->SetPRange(.9,1e30); // for J/psi
+ if(cutDefinition==0) esdTrackCuts->SetPRange(.8,1e30); // for J/psi
if(cutDefinition==1) esdTrackCuts->SetPRange(.1,1e30); // for phi
//if(cutDefinition==0) esdTrackCuts->SetMinNClustersTPC(60);
//if(cutDefinition==0) esdTrackCuts->SetMaxChi2PerClusterTPC(4);
}
//______________________________________________________________________________________
-void SetEtaCorrection()
+/*void SetEtaCorrection()
{
//
// Eta equalization for the TPC response
AliDielectronPID::SetEtaCorrFunction((TF1*)f.Get(kName.Data()));
}
}
-}
+}*/