ROOT logo
AliAnalysisTask *AddTaskNuclexFilter( Bool_t onlyMuon = kTRUE,
				      Bool_t keepAllEvents = kTRUE,
				      Int_t mcMode = 0,
				      Int_t nsigmaTrk1 = 3,
				      Int_t partType1 = 2,
				      Int_t nsigmaTrk2 = 5, 
				      Int_t partType2 = 7
				      )
{

  //get the current analysis manager

  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTaskNuclexFilter", "No analysis manager found.");
    return 0;
  }
  
  //check for output aod handler
  if (!mgr->GetOutputEventHandler()||mgr->GetOutputEventHandler()->IsA()!=AliAODHandler::Class()) {
    Warning("AddTaskNuclExFilter","No AOD output handler available. Not adding the task!");
    return 0;
  }

  //Do we have an MC handler?
  //  Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0)||hasMC_aod;
  /*  
  //Do we run on AOD?
  Bool_t isAOD=mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();

  //Allow merging of the filtered aods on grid trains
  if(mgr->GetGridHandler()) {
    printf(" SET MERGE FILTERED AODs \n");
    mgr->GetGridHandler()->SetMergeAOD(kTRUE);
  }
  
  if(isAOD) {
    //add options to AliAODHandler to duplicate input event
    AliAODHandler *aodHandler = (AliAODHandler*)mgr->GetOutputEventHandler();
    aodHandler->SetCreateNonStandardAOD();
    }
 */

  Bool_t isAOD=mgr->GetInputEventHandler()->IsA()==AliAODInputHandler::Class();
  if ( !isAOD) {
    Printf("ERROR! This task can only run on AODs!");
  }

  
 
  //========= Add task to the ANALYSIS manager =====
  
  cout<<"\n\n=============== addtask Nuclex =================== "<<endl<<endl;

  //AliAnalysisTaskSE *esdnuclexfilter = new AliAnalysisTaskESDNuclExFilter("NuclEx Filter",onlyMuon,keepAllEvents,mcMode,nsigmaTrk1,partType1,nsigmaTrk2,partType2);

  AliAnalysisTaskESDNuclExFilter  *esdnuclexfilter = new AliAnalysisTaskESDNuclExFilter("NuclEx Filter",onlyMuon,keepAllEvents,mcMode,nsigmaTrk1,partType1,nsigmaTrk2,partType2);
  
  esdnuclexfilter->SetWriteMuonAOD(kTRUE);

  //================================================
  //              data containers
  //================================================
  //            find input container

  mgr->ConnectInput  (esdnuclexfilter,  0, mgr->GetCommonInputContainer());
  mgr->ConnectOutput (esdnuclexfilter,  0, mgr->GetCommonOutputContainer());


  return esdnuclexfilter;
}
 AddTaskNuclexFilter.C:1
 AddTaskNuclexFilter.C:2
 AddTaskNuclexFilter.C:3
 AddTaskNuclexFilter.C:4
 AddTaskNuclexFilter.C:5
 AddTaskNuclexFilter.C:6
 AddTaskNuclexFilter.C:7
 AddTaskNuclexFilter.C:8
 AddTaskNuclexFilter.C:9
 AddTaskNuclexFilter.C:10
 AddTaskNuclexFilter.C:11
 AddTaskNuclexFilter.C:12
 AddTaskNuclexFilter.C:13
 AddTaskNuclexFilter.C:14
 AddTaskNuclexFilter.C:15
 AddTaskNuclexFilter.C:16
 AddTaskNuclexFilter.C:17
 AddTaskNuclexFilter.C:18
 AddTaskNuclexFilter.C:19
 AddTaskNuclexFilter.C:20
 AddTaskNuclexFilter.C:21
 AddTaskNuclexFilter.C:22
 AddTaskNuclexFilter.C:23
 AddTaskNuclexFilter.C:24
 AddTaskNuclexFilter.C:25
 AddTaskNuclexFilter.C:26
 AddTaskNuclexFilter.C:27
 AddTaskNuclexFilter.C:28
 AddTaskNuclexFilter.C:29
 AddTaskNuclexFilter.C:30
 AddTaskNuclexFilter.C:31
 AddTaskNuclexFilter.C:32
 AddTaskNuclexFilter.C:33
 AddTaskNuclexFilter.C:34
 AddTaskNuclexFilter.C:35
 AddTaskNuclexFilter.C:36
 AddTaskNuclexFilter.C:37
 AddTaskNuclexFilter.C:38
 AddTaskNuclexFilter.C:39
 AddTaskNuclexFilter.C:40
 AddTaskNuclexFilter.C:41
 AddTaskNuclexFilter.C:42
 AddTaskNuclexFilter.C:43
 AddTaskNuclexFilter.C:44
 AddTaskNuclexFilter.C:45
 AddTaskNuclexFilter.C:46
 AddTaskNuclexFilter.C:47
 AddTaskNuclexFilter.C:48
 AddTaskNuclexFilter.C:49
 AddTaskNuclexFilter.C:50
 AddTaskNuclexFilter.C:51
 AddTaskNuclexFilter.C:52
 AddTaskNuclexFilter.C:53
 AddTaskNuclexFilter.C:54
 AddTaskNuclexFilter.C:55
 AddTaskNuclexFilter.C:56
 AddTaskNuclexFilter.C:57
 AddTaskNuclexFilter.C:58
 AddTaskNuclexFilter.C:59
 AddTaskNuclexFilter.C:60
 AddTaskNuclexFilter.C:61
 AddTaskNuclexFilter.C:62
 AddTaskNuclexFilter.C:63
 AddTaskNuclexFilter.C:64
 AddTaskNuclexFilter.C:65
 AddTaskNuclexFilter.C:66
 AddTaskNuclexFilter.C:67
 AddTaskNuclexFilter.C:68
 AddTaskNuclexFilter.C:69
 AddTaskNuclexFilter.C:70
 AddTaskNuclexFilter.C:71
 AddTaskNuclexFilter.C:72