ROOT logo
//if like define a different number of signal for TPC PID

//by default the task is anyway computing 1, 2 and 3 sigmas

const Bool_t theRareOn = kTRUE;

const Bool_t anaType   = 1;//0 HD; 1 UU;

const Bool_t doImp   = kFALSE;// imp par studies

//----------------------------------------------------



AliAnalysisTaskSEDStarSpectra *AddTaskDStarSpectra(Int_t system=0/*0=pp,1=PbPb*/,

						   Float_t minC=0, Float_t maxC=100,

						   TString cutsfile="", TString usercomment = "username",

						   Bool_t theMCon=kFALSE, Bool_t doDStarVsY=kFALSE)

{



  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();

  if (!mgr) {

    ::Error("AddTaskDStarSpectra", "No analysis manager to connect to.");

    return NULL;

  }  

  

  // cuts are stored in a TFile generated by makeTFile4CutsDStartoKpipi.C in ./macros/

  // set there the cuts!!!!!

  Bool_t stdcuts=kFALSE;

  TFile* filecuts;
  if( cutsfile.EqualTo("") ) {
    stdcuts=kTRUE; 
  } else {
      filecuts=TFile::Open(cutsfile.Data());
      if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
	AliFatal("Input file not found : check your cut object");
      }
  }





  AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();

  if(stdcuts) {

    if(system==0) RDHFDStartoKpipi->SetStandardCutsPP2010();

    else if(system==1) {

      RDHFDStartoKpipi->SetStandardCutsPbPb2010();

      RDHFDStartoKpipi->SetMinCentrality(minC);

      RDHFDStartoKpipi->SetMinCentrality(maxC);

      RDHFDStartoKpipi->SetUseAOD049(kTRUE);

      RDHFDStartoKpipi->SetUseCentrality(AliRDHFCuts::kCentV0M);

    }

  }

  else RDHFDStartoKpipi = (AliRDHFCutsDStartoKpipi*)filecuts->Get("DStartoKpipiCuts");

  RDHFDStartoKpipi->SetName("DStartoKpipiCuts");



  // mm let's see if everything is ok

  if(!RDHFDStartoKpipi){

    cout<<"Specific AliRDHFCuts not found"<<endl;

    return;

  }

 

  //CREATE THE TASK

  printf("CREATE TASK\n");

  // create the task

  AliAnalysisTaskSEDStarSpectra *task = new AliAnalysisTaskSEDStarSpectra("AliAnalysisTaskSEDStarSpectra",RDHFDStartoKpipi);

  task->SetAnalysisType(anaType);

  task->SetMC(theMCon);

  task->SetRareSearch(theRareOn);

  task->SetDoImpactParameterHistos(doImp);

  task->SetDebugLevel(0);

  task->SetDoDStarVsY(doDStarVsY);

  mgr->AddTask(task);



  // Create and connect containers for input/output

  usercomment = "_" + usercomment;  

  TString outputfile = AliAnalysisManager::GetCommonFileName();

  outputfile += ":PWG3_D2H_DStarSpectra";
  outputfile += usercomment;
  

  // ------ input data ------
  TString input = "indstar";
  input += usercomment;
  TString output1 = "chist1";
  output1 += usercomment;
  TString output2 = "DStarAll";
  output2 += usercomment;
  TString output3 = "DStarPID";
  output3 += usercomment;
  TString output4 = "cuts";
  output4 += usercomment;
  TString output5 = "coutputDstarNorm";
  output5 += usercomment;

  //AliAnalysisDataContainer *cinput0  = mgr->GetCommonInputContainer();

  AliAnalysisDataContainer *cinput0  =  mgr->CreateContainer(input,TChain::Class(), 

							     AliAnalysisManager::kInputContainer);

 // ----- output data -----

  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(output1,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());

  AliAnalysisDataContainer *coutputDStar1 = mgr->CreateContainer(output2,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());

  AliAnalysisDataContainer *coutputDStar2 = mgr->CreateContainer(output3,TList::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());

  AliAnalysisDataContainer *coutputDStar3 = mgr->CreateContainer(output4,AliRDHFCutsDStartoKpipi::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data()); //cuts

  AliAnalysisDataContainer *coutputDstarNorm = mgr->CreateContainer(output5,AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, outputfile.Data());



  mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());

  mgr->ConnectOutput(task,1,coutput1);

  mgr->ConnectOutput(task,2,coutputDStar1);

  mgr->ConnectOutput(task,3,coutputDStar2);

  mgr->ConnectOutput(task,4,coutputDStar3);

  mgr->ConnectOutput(task,5,coutputDstarNorm);

  

  return task;

}



 AddTaskDStarSpectra.C:1
 AddTaskDStarSpectra.C:2
 AddTaskDStarSpectra.C:3
 AddTaskDStarSpectra.C:4
 AddTaskDStarSpectra.C:5
 AddTaskDStarSpectra.C:6
 AddTaskDStarSpectra.C:7
 AddTaskDStarSpectra.C:8
 AddTaskDStarSpectra.C:9
 AddTaskDStarSpectra.C:10
 AddTaskDStarSpectra.C:11
 AddTaskDStarSpectra.C:12
 AddTaskDStarSpectra.C:13
 AddTaskDStarSpectra.C:14
 AddTaskDStarSpectra.C:15
 AddTaskDStarSpectra.C:16
 AddTaskDStarSpectra.C:17
 AddTaskDStarSpectra.C:18
 AddTaskDStarSpectra.C:19
 AddTaskDStarSpectra.C:20
 AddTaskDStarSpectra.C:21
 AddTaskDStarSpectra.C:22
 AddTaskDStarSpectra.C:23
 AddTaskDStarSpectra.C:24
 AddTaskDStarSpectra.C:25
 AddTaskDStarSpectra.C:26
 AddTaskDStarSpectra.C:27
 AddTaskDStarSpectra.C:28
 AddTaskDStarSpectra.C:29
 AddTaskDStarSpectra.C:30
 AddTaskDStarSpectra.C:31
 AddTaskDStarSpectra.C:32
 AddTaskDStarSpectra.C:33
 AddTaskDStarSpectra.C:34
 AddTaskDStarSpectra.C:35
 AddTaskDStarSpectra.C:36
 AddTaskDStarSpectra.C:37
 AddTaskDStarSpectra.C:38
 AddTaskDStarSpectra.C:39
 AddTaskDStarSpectra.C:40
 AddTaskDStarSpectra.C:41
 AddTaskDStarSpectra.C:42
 AddTaskDStarSpectra.C:43
 AddTaskDStarSpectra.C:44
 AddTaskDStarSpectra.C:45
 AddTaskDStarSpectra.C:46
 AddTaskDStarSpectra.C:47
 AddTaskDStarSpectra.C:48
 AddTaskDStarSpectra.C:49
 AddTaskDStarSpectra.C:50
 AddTaskDStarSpectra.C:51
 AddTaskDStarSpectra.C:52
 AddTaskDStarSpectra.C:53
 AddTaskDStarSpectra.C:54
 AddTaskDStarSpectra.C:55
 AddTaskDStarSpectra.C:56
 AddTaskDStarSpectra.C:57
 AddTaskDStarSpectra.C:58
 AddTaskDStarSpectra.C:59
 AddTaskDStarSpectra.C:60
 AddTaskDStarSpectra.C:61
 AddTaskDStarSpectra.C:62
 AddTaskDStarSpectra.C:63
 AddTaskDStarSpectra.C:64
 AddTaskDStarSpectra.C:65
 AddTaskDStarSpectra.C:66
 AddTaskDStarSpectra.C:67
 AddTaskDStarSpectra.C:68
 AddTaskDStarSpectra.C:69
 AddTaskDStarSpectra.C:70
 AddTaskDStarSpectra.C:71
 AddTaskDStarSpectra.C:72
 AddTaskDStarSpectra.C:73
 AddTaskDStarSpectra.C:74
 AddTaskDStarSpectra.C:75
 AddTaskDStarSpectra.C:76
 AddTaskDStarSpectra.C:77
 AddTaskDStarSpectra.C:78
 AddTaskDStarSpectra.C:79
 AddTaskDStarSpectra.C:80
 AddTaskDStarSpectra.C:81
 AddTaskDStarSpectra.C:82
 AddTaskDStarSpectra.C:83
 AddTaskDStarSpectra.C:84
 AddTaskDStarSpectra.C:85
 AddTaskDStarSpectra.C:86
 AddTaskDStarSpectra.C:87
 AddTaskDStarSpectra.C:88
 AddTaskDStarSpectra.C:89
 AddTaskDStarSpectra.C:90
 AddTaskDStarSpectra.C:91
 AddTaskDStarSpectra.C:92
 AddTaskDStarSpectra.C:93
 AddTaskDStarSpectra.C:94
 AddTaskDStarSpectra.C:95
 AddTaskDStarSpectra.C:96
 AddTaskDStarSpectra.C:97
 AddTaskDStarSpectra.C:98
 AddTaskDStarSpectra.C:99
 AddTaskDStarSpectra.C:100
 AddTaskDStarSpectra.C:101
 AddTaskDStarSpectra.C:102
 AddTaskDStarSpectra.C:103
 AddTaskDStarSpectra.C:104
 AddTaskDStarSpectra.C:105
 AddTaskDStarSpectra.C:106
 AddTaskDStarSpectra.C:107
 AddTaskDStarSpectra.C:108
 AddTaskDStarSpectra.C:109
 AddTaskDStarSpectra.C:110
 AddTaskDStarSpectra.C:111
 AddTaskDStarSpectra.C:112
 AddTaskDStarSpectra.C:113
 AddTaskDStarSpectra.C:114
 AddTaskDStarSpectra.C:115
 AddTaskDStarSpectra.C:116
 AddTaskDStarSpectra.C:117
 AddTaskDStarSpectra.C:118
 AddTaskDStarSpectra.C:119
 AddTaskDStarSpectra.C:120
 AddTaskDStarSpectra.C:121
 AddTaskDStarSpectra.C:122
 AddTaskDStarSpectra.C:123
 AddTaskDStarSpectra.C:124
 AddTaskDStarSpectra.C:125
 AddTaskDStarSpectra.C:126
 AddTaskDStarSpectra.C:127
 AddTaskDStarSpectra.C:128
 AddTaskDStarSpectra.C:129
 AddTaskDStarSpectra.C:130
 AddTaskDStarSpectra.C:131
 AddTaskDStarSpectra.C:132
 AddTaskDStarSpectra.C:133
 AddTaskDStarSpectra.C:134
 AddTaskDStarSpectra.C:135
 AddTaskDStarSpectra.C:136
 AddTaskDStarSpectra.C:137
 AddTaskDStarSpectra.C:138
 AddTaskDStarSpectra.C:139
 AddTaskDStarSpectra.C:140
 AddTaskDStarSpectra.C:141
 AddTaskDStarSpectra.C:142
 AddTaskDStarSpectra.C:143
 AddTaskDStarSpectra.C:144
 AddTaskDStarSpectra.C:145
 AddTaskDStarSpectra.C:146
 AddTaskDStarSpectra.C:147
 AddTaskDStarSpectra.C:148
 AddTaskDStarSpectra.C:149
 AddTaskDStarSpectra.C:150
 AddTaskDStarSpectra.C:151
 AddTaskDStarSpectra.C:152
 AddTaskDStarSpectra.C:153
 AddTaskDStarSpectra.C:154
 AddTaskDStarSpectra.C:155
 AddTaskDStarSpectra.C:156
 AddTaskDStarSpectra.C:157
 AddTaskDStarSpectra.C:158
 AddTaskDStarSpectra.C:159
 AddTaskDStarSpectra.C:160
 AddTaskDStarSpectra.C:161
 AddTaskDStarSpectra.C:162
 AddTaskDStarSpectra.C:163
 AddTaskDStarSpectra.C:164
 AddTaskDStarSpectra.C:165
 AddTaskDStarSpectra.C:166
 AddTaskDStarSpectra.C:167
 AddTaskDStarSpectra.C:168
 AddTaskDStarSpectra.C:169
 AddTaskDStarSpectra.C:170
 AddTaskDStarSpectra.C:171
 AddTaskDStarSpectra.C:172
 AddTaskDStarSpectra.C:173
 AddTaskDStarSpectra.C:174
 AddTaskDStarSpectra.C:175
 AddTaskDStarSpectra.C:176
 AddTaskDStarSpectra.C:177
 AddTaskDStarSpectra.C:178
 AddTaskDStarSpectra.C:179
 AddTaskDStarSpectra.C:180
 AddTaskDStarSpectra.C:181
 AddTaskDStarSpectra.C:182
 AddTaskDStarSpectra.C:183
 AddTaskDStarSpectra.C:184
 AddTaskDStarSpectra.C:185
 AddTaskDStarSpectra.C:186
 AddTaskDStarSpectra.C:187