ROOT logo

void AddTask_mkoehler_dNdPtPbPb()
{

	CheckLoadLibrary("libPWG0base");
	CheckLoadLibrary("libPWG0dep");
	CheckLoadLibrary("libPWG0selectors");

 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();

  if (!mgr) {
    Error("AddTask_mkoehler_dNdPtPbPb", "No analysis manager found.");
    return 0;
  }


  Bool_t hasMC=(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()!=0x0);
//  Bool_t hasMC= kFALSE;


  // Switch off all AliInfo (too much output!!!)
  AliLog::SetGlobalLogLevel(AliLog::kError);
  mgr->SetDebugLevel(0);

  //
  // Create physics trigger selection class
  //


AliPhysicsSelection *physTrigSel =  new AliPhysicsSelection();

  //
  // Create event cuts
  //
  Float_t zvWindow = 20. ;

  AlidNdPtEventCuts *evtCuts = new AlidNdPtEventCuts("AlidNdPtEventCuts","Event cuts");
  evtCuts->SetZvRange(-zvWindow,zvWindow);
  evtCuts->SetMeanXYZv(0.0,0.0,0.0);
  evtCuts->SetSigmaMeanXYZv(1.0,1.0,10.0);
  evtCuts->SetTriggerRequired(kTRUE);

  //
  // Create geom. acceptance cuts
  //
  Float_t etaWindow = 1. ;
  Float_t ptMin = 0.15 ;

  AlidNdPtAcceptanceCuts *accCuts = new AlidNdPtAcceptanceCuts("AlidNdPtAcceptanceCuts","Geom. acceptance cuts");
  accCuts->SetEtaRange(-etaWindow,etaWindow);
  accCuts->SetPtRange(ptMin,1.e10);
  accCuts->SetMaxDCAr(3.0);
  accCuts->SetMaxDCAz(30.0);

  //
  // Create standard esd track cuts
  //
  Int_t cutMode = 23;

  gROOT->LoadMacro("$ALICE_ROOT/PWG0/dNdPt/macros/CreatedNdPtTrackCuts.C");
  AliESDtrackCuts* esdTrackCuts = CreatedNdPtTrackCuts(cutMode);
  if (!esdTrackCuts) {
    printf("ERROR: esdTrackCuts could not be created\n");
    return;
  } else {
    esdTrackCuts->SetHistogramsOn(kTRUE);
  }

  //
  // Create task
  //
  AlidNdPtTask *task = new AlidNdPtTask("AlidNdPtTask");
  task->SetUseMCInfo(hasMC);

  //TString datatype=gSystem->Getenv("CONFIG_FILE");
  //if ( datatype == "PbPb" ){
  //  task->SelectCollisionCandidates(AliVEvent::kUserDefined);
  //}
  //else
  task->SelectCollisionCandidates(AliVEvent::kMB); 


//     }
//     else
//       task->SelectCollisionCandidates(); 

 //
 // set analysis options from the Helper here
 //
 AlidNdPtHelper::OutputObject outputObject = AlidNdPtHelper::kAnalysisPbPb;
 AlidNdPtHelper::AnalysisMode analysisMode = AlidNdPtHelper::kTPC ;
 AlidNdPtHelper::ParticleMode particleMode = AlidNdPtHelper::kAllPart ;


  //
  // Create cut analysis object
  //
  if(outputObject==AlidNdPtHelper::kAnalysisPbPb){

    AlidNdPtAnalysisPbPb *fdNdPtAnalysisPbPb = new AlidNdPtAnalysisPbPb("dNdPtAnalysisPbPb","dN/dPt Analysis");
    fdNdPtAnalysisPbPb->SetEventCuts(evtCuts);
    fdNdPtAnalysisPbPb->SetAcceptanceCuts(accCuts);
    fdNdPtAnalysisPbPb->SetTrackCuts(esdTrackCuts);
    fdNdPtAnalysisPbPb->SetAnalysisMode(analysisMode); 
    fdNdPtAnalysisPbPb->SetParticleMode(particleMode); 


    if(hasMC) 
    {
       physTrigSel->SetAnalyzeMC();
       fdNdPtAnalysisPbPb->SetPhysicsTriggerSelection(physTrigSel);

       fdNdPtAnalysisPbPb->SetUseMCInfo(kTRUE);
       fdNdPtAnalysisPbPb->SetHistogramsOn(kTRUE);
       //fdNdPtAnalysisPbPb->SetHistogramsOn(kFALSE);
    }else { // online trigger
    fdNdPtAnalysisPbPb->SetPhysicsTriggerSelection(physTrigSel); 
    }

    task->AddAnalysisObject( fdNdPtAnalysisPbPb );
  }
  
  // Centrality
  task->SetUseCentrality(1);     // 0=off, 1=VZERO, 2=SPD
  task->SetUseCentralityBin(0);  // Bin to be used 0,5,10,20,30,40,50,60,70,80,90,(100=SPDonly)
                                 // 0 = most centrality  


  // Centrality
	  task->SetUseCentrality(1);     // 0=off, 1=VZERO, 2=SPD
	  task->SetUseCentralityBin(0);  // Bin to be used 0,5,10,20,30,40,50,60,70,80,90,(100=SPDonly)
	                                 // 0 = most centrality

 // Add task
  mgr->AddTask(task);

  // Create containers for input
  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
  mgr->ConnectInput(task, 0, cinput);

  AliAnalysisDataContainer *coutput = mgr->CreateContainer("mkoehler_dNdPtPbPb", TList::Class(), AliAnalysisManager::kOutputContainer, "mkoehler_dNdPtPbPb.root");
  mgr->ConnectOutput(task, 1, coutput);



}

 AddTask_mkoehler_dNdPtPbPb.C:1
 AddTask_mkoehler_dNdPtPbPb.C:2
 AddTask_mkoehler_dNdPtPbPb.C:3
 AddTask_mkoehler_dNdPtPbPb.C:4
 AddTask_mkoehler_dNdPtPbPb.C:5
 AddTask_mkoehler_dNdPtPbPb.C:6
 AddTask_mkoehler_dNdPtPbPb.C:7
 AddTask_mkoehler_dNdPtPbPb.C:8
 AddTask_mkoehler_dNdPtPbPb.C:9
 AddTask_mkoehler_dNdPtPbPb.C:10
 AddTask_mkoehler_dNdPtPbPb.C:11
 AddTask_mkoehler_dNdPtPbPb.C:12
 AddTask_mkoehler_dNdPtPbPb.C:13
 AddTask_mkoehler_dNdPtPbPb.C:14
 AddTask_mkoehler_dNdPtPbPb.C:15
 AddTask_mkoehler_dNdPtPbPb.C:16
 AddTask_mkoehler_dNdPtPbPb.C:17
 AddTask_mkoehler_dNdPtPbPb.C:18
 AddTask_mkoehler_dNdPtPbPb.C:19
 AddTask_mkoehler_dNdPtPbPb.C:20
 AddTask_mkoehler_dNdPtPbPb.C:21
 AddTask_mkoehler_dNdPtPbPb.C:22
 AddTask_mkoehler_dNdPtPbPb.C:23
 AddTask_mkoehler_dNdPtPbPb.C:24
 AddTask_mkoehler_dNdPtPbPb.C:25
 AddTask_mkoehler_dNdPtPbPb.C:26
 AddTask_mkoehler_dNdPtPbPb.C:27
 AddTask_mkoehler_dNdPtPbPb.C:28
 AddTask_mkoehler_dNdPtPbPb.C:29
 AddTask_mkoehler_dNdPtPbPb.C:30
 AddTask_mkoehler_dNdPtPbPb.C:31
 AddTask_mkoehler_dNdPtPbPb.C:32
 AddTask_mkoehler_dNdPtPbPb.C:33
 AddTask_mkoehler_dNdPtPbPb.C:34
 AddTask_mkoehler_dNdPtPbPb.C:35
 AddTask_mkoehler_dNdPtPbPb.C:36
 AddTask_mkoehler_dNdPtPbPb.C:37
 AddTask_mkoehler_dNdPtPbPb.C:38
 AddTask_mkoehler_dNdPtPbPb.C:39
 AddTask_mkoehler_dNdPtPbPb.C:40
 AddTask_mkoehler_dNdPtPbPb.C:41
 AddTask_mkoehler_dNdPtPbPb.C:42
 AddTask_mkoehler_dNdPtPbPb.C:43
 AddTask_mkoehler_dNdPtPbPb.C:44
 AddTask_mkoehler_dNdPtPbPb.C:45
 AddTask_mkoehler_dNdPtPbPb.C:46
 AddTask_mkoehler_dNdPtPbPb.C:47
 AddTask_mkoehler_dNdPtPbPb.C:48
 AddTask_mkoehler_dNdPtPbPb.C:49
 AddTask_mkoehler_dNdPtPbPb.C:50
 AddTask_mkoehler_dNdPtPbPb.C:51
 AddTask_mkoehler_dNdPtPbPb.C:52
 AddTask_mkoehler_dNdPtPbPb.C:53
 AddTask_mkoehler_dNdPtPbPb.C:54
 AddTask_mkoehler_dNdPtPbPb.C:55
 AddTask_mkoehler_dNdPtPbPb.C:56
 AddTask_mkoehler_dNdPtPbPb.C:57
 AddTask_mkoehler_dNdPtPbPb.C:58
 AddTask_mkoehler_dNdPtPbPb.C:59
 AddTask_mkoehler_dNdPtPbPb.C:60
 AddTask_mkoehler_dNdPtPbPb.C:61
 AddTask_mkoehler_dNdPtPbPb.C:62
 AddTask_mkoehler_dNdPtPbPb.C:63
 AddTask_mkoehler_dNdPtPbPb.C:64
 AddTask_mkoehler_dNdPtPbPb.C:65
 AddTask_mkoehler_dNdPtPbPb.C:66
 AddTask_mkoehler_dNdPtPbPb.C:67
 AddTask_mkoehler_dNdPtPbPb.C:68
 AddTask_mkoehler_dNdPtPbPb.C:69
 AddTask_mkoehler_dNdPtPbPb.C:70
 AddTask_mkoehler_dNdPtPbPb.C:71
 AddTask_mkoehler_dNdPtPbPb.C:72
 AddTask_mkoehler_dNdPtPbPb.C:73
 AddTask_mkoehler_dNdPtPbPb.C:74
 AddTask_mkoehler_dNdPtPbPb.C:75
 AddTask_mkoehler_dNdPtPbPb.C:76
 AddTask_mkoehler_dNdPtPbPb.C:77
 AddTask_mkoehler_dNdPtPbPb.C:78
 AddTask_mkoehler_dNdPtPbPb.C:79
 AddTask_mkoehler_dNdPtPbPb.C:80
 AddTask_mkoehler_dNdPtPbPb.C:81
 AddTask_mkoehler_dNdPtPbPb.C:82
 AddTask_mkoehler_dNdPtPbPb.C:83
 AddTask_mkoehler_dNdPtPbPb.C:84
 AddTask_mkoehler_dNdPtPbPb.C:85
 AddTask_mkoehler_dNdPtPbPb.C:86
 AddTask_mkoehler_dNdPtPbPb.C:87
 AddTask_mkoehler_dNdPtPbPb.C:88
 AddTask_mkoehler_dNdPtPbPb.C:89
 AddTask_mkoehler_dNdPtPbPb.C:90
 AddTask_mkoehler_dNdPtPbPb.C:91
 AddTask_mkoehler_dNdPtPbPb.C:92
 AddTask_mkoehler_dNdPtPbPb.C:93
 AddTask_mkoehler_dNdPtPbPb.C:94
 AddTask_mkoehler_dNdPtPbPb.C:95
 AddTask_mkoehler_dNdPtPbPb.C:96
 AddTask_mkoehler_dNdPtPbPb.C:97
 AddTask_mkoehler_dNdPtPbPb.C:98
 AddTask_mkoehler_dNdPtPbPb.C:99
 AddTask_mkoehler_dNdPtPbPb.C:100
 AddTask_mkoehler_dNdPtPbPb.C:101
 AddTask_mkoehler_dNdPtPbPb.C:102
 AddTask_mkoehler_dNdPtPbPb.C:103
 AddTask_mkoehler_dNdPtPbPb.C:104
 AddTask_mkoehler_dNdPtPbPb.C:105
 AddTask_mkoehler_dNdPtPbPb.C:106
 AddTask_mkoehler_dNdPtPbPb.C:107
 AddTask_mkoehler_dNdPtPbPb.C:108
 AddTask_mkoehler_dNdPtPbPb.C:109
 AddTask_mkoehler_dNdPtPbPb.C:110
 AddTask_mkoehler_dNdPtPbPb.C:111
 AddTask_mkoehler_dNdPtPbPb.C:112
 AddTask_mkoehler_dNdPtPbPb.C:113
 AddTask_mkoehler_dNdPtPbPb.C:114
 AddTask_mkoehler_dNdPtPbPb.C:115
 AddTask_mkoehler_dNdPtPbPb.C:116
 AddTask_mkoehler_dNdPtPbPb.C:117
 AddTask_mkoehler_dNdPtPbPb.C:118
 AddTask_mkoehler_dNdPtPbPb.C:119
 AddTask_mkoehler_dNdPtPbPb.C:120
 AddTask_mkoehler_dNdPtPbPb.C:121
 AddTask_mkoehler_dNdPtPbPb.C:122
 AddTask_mkoehler_dNdPtPbPb.C:123
 AddTask_mkoehler_dNdPtPbPb.C:124
 AddTask_mkoehler_dNdPtPbPb.C:125
 AddTask_mkoehler_dNdPtPbPb.C:126
 AddTask_mkoehler_dNdPtPbPb.C:127
 AddTask_mkoehler_dNdPtPbPb.C:128
 AddTask_mkoehler_dNdPtPbPb.C:129
 AddTask_mkoehler_dNdPtPbPb.C:130
 AddTask_mkoehler_dNdPtPbPb.C:131
 AddTask_mkoehler_dNdPtPbPb.C:132
 AddTask_mkoehler_dNdPtPbPb.C:133
 AddTask_mkoehler_dNdPtPbPb.C:134
 AddTask_mkoehler_dNdPtPbPb.C:135
 AddTask_mkoehler_dNdPtPbPb.C:136
 AddTask_mkoehler_dNdPtPbPb.C:137
 AddTask_mkoehler_dNdPtPbPb.C:138
 AddTask_mkoehler_dNdPtPbPb.C:139
 AddTask_mkoehler_dNdPtPbPb.C:140
 AddTask_mkoehler_dNdPtPbPb.C:141
 AddTask_mkoehler_dNdPtPbPb.C:142
 AddTask_mkoehler_dNdPtPbPb.C:143
 AddTask_mkoehler_dNdPtPbPb.C:144
 AddTask_mkoehler_dNdPtPbPb.C:145
 AddTask_mkoehler_dNdPtPbPb.C:146
 AddTask_mkoehler_dNdPtPbPb.C:147
 AddTask_mkoehler_dNdPtPbPb.C:148