-AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber)
+AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber,
+ UInt_t maskMB,
+ UInt_t maskHM,
+ UInt_t maskEM,
+ UInt_t maskMU)
{
// Creates a QA task exploiting simple symmetries phi, eta +/-, charge ...
//Task for global tracks
AliAnalysisTaskQASym *task0 = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_Global");
task0->SetTrackType(0);
- task0->SelectCollisionCandidates();
+ task0->SelectCollisionCandidates(maskMB); // default setting: kMB = min bias trigger
+ task0->SetNChargedRange(30,50); // comparison of different trigger settings
+ //Task for global tracks (high multiplicity)
+ AliAnalysisTaskQASym *task0HM = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_Global_HighMult");
+ task0HM->SetTrackType(0);
+ task0HM->SelectCollisionCandidates(maskHM);
+ task0HM->SetNChargedRange(30,50);
+ //Task for global tracks (EMCAL trigger)
+ AliAnalysisTaskQASym *task0EM = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_Global_EMCAL");
+ task0EM->SetTrackType(0);
+ task0EM->SelectCollisionCandidates(maskEM);
+ task0EM->SetNChargedRange(30,50);
+ //Task for global tracks (Muon trigger)
+ AliAnalysisTaskQASym *task0MU = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_Global_MUON");
+ task0MU->SetTrackType(0);
+ task0MU->SelectCollisionCandidates(maskMU);
+ task0MU->SetNChargedRange(30,50);
+
+
//Task for ITS tracks
AliAnalysisTaskQASym *task1 = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_ITS");
task1->SetTrackType(1);
- task1->SelectCollisionCandidates();
+ task1->SetStandAloneTrack(kFALSE);
+ task1->SelectCollisionCandidates(maskMB);
+ task1->SetNChargedRange(30,50);
+ //Task for ITS tracks SA
+ AliAnalysisTaskQASym *task1sa = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_ITS_SA");
+ task1sa->SetTrackType(1);
+ task1sa->SetStandAloneTrack(kTRUE);
+ task1sa->SelectCollisionCandidates(maskMB);
+ task1sa->SetNChargedRange(30,50);
//Task for TPC tracks
AliAnalysisTaskQASym *task2 = new AliAnalysisTaskQASym("AliAnalysisTaskQASym_TPC");
task2->SetTrackType(2);
- task2->SelectCollisionCandidates();
+ task2->SelectCollisionCandidates(maskMB);
+ task2->SetNChargedRange(30,50);
//cuts for global tracks
AliESDtrackCuts* esdTrackCutsL0 = new AliESDtrackCuts("AliESDtrackCuts0","Global");
esdTrackCutsL0->SetMinNClustersTPC(70);
esdTrackCutsL0->SetRequireTPCRefit(kTRUE);
+ esdTrackCutsL0->SetRequireITSRefit(kTRUE);
esdTrackCutsL0->SetMaxDCAToVertexXY(3.);
esdTrackCutsL0->SetMaxDCAToVertexZ(3.);
esdTrackCutsL0->SetAcceptKinkDaughters(kFALSE);
-
+
+ //cuts for ITS tracks
AliESDtrackCuts* esdTrackCutsL1 = new AliESDtrackCuts("AliESDtrackCuts1","ITS");
esdTrackCutsL1->SetMaxDCAToVertexXY(3.);
esdTrackCutsL1->SetMaxDCAToVertexZ(3.);
esdTrackCutsL1->SetAcceptKinkDaughters(kFALSE);
esdTrackCutsL1->SetRequireITSRefit(kTRUE);
- esdTrackCutsL1->SetRequireITSStandAlone(kTRUE);
+ esdTrackCutsL1->SetRequireITSStandAlone(kTRUE);
+
+ //cuts for ITS tracks SA
+ AliESDtrackCuts* esdTrackCutsL1sa = new AliESDtrackCuts("AliESDtrackCuts1sa","ITS_SA");
+ esdTrackCutsL1sa->SetMaxDCAToVertexXY(3.);
+ esdTrackCutsL1sa->SetMaxDCAToVertexZ(3.);
+ esdTrackCutsL1sa->SetAcceptKinkDaughters(kFALSE);
+ esdTrackCutsL1sa->SetRequireITSRefit(kTRUE);
+ esdTrackCutsL1sa->SetRequireITSPureStandAlone(kTRUE);
//cuts for TPC tracks
AliESDtrackCuts* esdTrackCutsL2 = new AliESDtrackCuts("AliESDtrackCuts2","TPC");
task0->SetCuts(esdTrackCutsL0);
+ task0HM->SetCuts(esdTrackCutsL0);
+ task0EM->SetCuts(esdTrackCutsL0);
+ task0MU->SetCuts(esdTrackCutsL0);
task1->SetCuts(esdTrackCutsL1);
+ task1sa->SetCuts(esdTrackCutsL1sa);
task2->SetCuts(esdTrackCutsL2);
mgr->AddTask(task0);
+ mgr->AddTask(task0HM);
+ mgr->AddTask(task0EM);
+ mgr->AddTask(task0MU);
mgr->AddTask(task1);
+ mgr->AddTask(task1sa);
mgr->AddTask(task2);
- AliAnalysisDataContainer *cout0 = 0;
- AliAnalysisDataContainer *cout1 = 0;
- AliAnalysisDataContainer *cout2 = 0;
+ AliAnalysisDataContainer *cout0 = 0;
+ AliAnalysisDataContainer *cout0HM = 0;
+ AliAnalysisDataContainer *cout0EM = 0;
+ AliAnalysisDataContainer *cout0MU = 0;
+ AliAnalysisDataContainer *cout1 = 0;
+ AliAnalysisDataContainer *cout1sa = 0;
+ AliAnalysisDataContainer *cout2 = 0;
if(runNumber>0){
cout0 = mgr->CreateContainer("QAsymHists_Global",TList::Class(),
AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber));
+ cout0HM = mgr->CreateContainer("QAsymHists_Global_HighMult",TList::Class(),
+ AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber));
+ cout0EM = mgr->CreateContainer("QAsymHists_Global_Emcal",TList::Class(),
+ AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber));
+ cout0MU = mgr->CreateContainer("QAsymHists_Global_Muon",TList::Class(),
+ AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber));
cout1 = mgr->CreateContainer("QAsymHists_ITS",TList::Class(),
AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber));
+ cout1sa = mgr->CreateContainer("QAsymHists_ITS_SA",TList::Class(),
+ AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber));
cout2 = mgr->CreateContainer("QAsymHists_TPC",TList::Class(),
AliAnalysisManager::kOutputContainer, Form("run%d.root",runNumber));
}
cout0 = mgr->CreateContainer("QAsymHists_Global",TList::Class(),
AliAnalysisManager::kOutputContainer,
Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName()));
+ cout0HM = mgr->CreateContainer("QAsymHists_Global_HighMult",TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName()));
+ cout0EM = mgr->CreateContainer("QAsymHists_Global_Emcal",TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName()));
+ cout0MU = mgr->CreateContainer("QAsymHists_Global_Muon",TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName()));
cout1 = mgr->CreateContainer("QAsymHists_ITS",TList::Class(),
AliAnalysisManager::kOutputContainer,
Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName()));
+ cout1sa = mgr->CreateContainer("QAsymHists_ITS_SA",TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName()));
cout2 = mgr->CreateContainer("QAsymHists_TPC",TList::Class(),
AliAnalysisManager::kOutputContainer,
Form("%s:PWG1_QAsymHists",AliAnalysisManager::GetCommonFileName()));
}
- mgr->ConnectInput (task0, 0, mgr->GetCommonInputContainer());
- mgr->ConnectInput (task1, 0, mgr->GetCommonInputContainer());
- mgr->ConnectInput (task2, 0, mgr->GetCommonInputContainer());
-
- // mgr->ConnectOutput (task0, 0, mgr->GetCommonOutputContainer());
- // mgr->ConnectOutput (task1, 0, mgr->GetCommonOutputContainer());
- // mgr->ConnectOutput (task2, 0, mgr->GetCommonOutputContainer());
+ mgr->ConnectInput (task0, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput (task0HM, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput (task0EM, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput (task0MU, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput (task1, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput (task1sa, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput (task2, 0, mgr->GetCommonInputContainer());
- mgr->ConnectOutput (task0, 1, cout0);
- mgr->ConnectOutput (task1, 1, cout1);
- mgr->ConnectOutput (task2, 1, cout2);
+ mgr->ConnectOutput (task0, 1, cout0);
+ mgr->ConnectOutput (task0HM, 1, cout0HM);
+ mgr->ConnectOutput (task0EM, 1, cout0EM);
+ mgr->ConnectOutput (task0MU, 1, cout0MU);
+ mgr->ConnectOutput (task1, 1, cout1);
+ mgr->ConnectOutput (task1sa, 1, cout1sa);
+ mgr->ConnectOutput (task2, 1, cout2);
return task0;