]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG1/PilotTrain/AddTaskQAsym.C
Added tasks for Emcal trigger and Muon trigger
[u/mrichter/AliRoot.git] / PWG1 / PilotTrain / AddTaskQAsym.C
index 0732bc99f06f35a4e839b714d24411fc73cf06ff..6494a0112f0894a65feb495778c9534941c8251d 100644 (file)
@@ -1,4 +1,8 @@
-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 ...
@@ -26,30 +30,67 @@ AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber)
    //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");
@@ -67,22 +108,42 @@ AliAnalysisTaskQASym * AddTaskQAsym(Int_t runNumber)
   
 
    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));
    }
@@ -91,26 +152,42 @@ AliAnalysisTaskQASym * AddTaskQAsym(Int_t 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;