ROOT logo
// $Id$

AliHadCorrTask* AddTaskHadCorr(
  const char *nTracks        = "EmcalTracks",
  const char *nClusters      = "EmcalClusters",
  const char *outClusName    = "CaloClustersCorr",
  const Double_t hadcorr     = 1,
  const Double_t minPt       = 0.15,
  const Double_t phiMatch    = 0.050,
  const Double_t etaMatch    = 0.025,
  const Double_t Eexcl       = 0,
  const Bool_t trackClus     = kTRUE,
  const Bool_t   histo       = kFALSE,
  const char *outputname     = "AnalysisResults.root"
)
{  
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr)
  {
    ::Error("AddTaskHadCorr", "No analysis manager to connect to.");
    return NULL;
  }  
  
  // Check the analysis type using the event handlers connected to the analysis manager.
  //==============================================================================
  if (!mgr->GetInputEventHandler())
  {
    ::Error("AddTaskHadCorr", "This task requires an input event handler");
    return NULL;
  }
  
  //-------------------------------------------------------
  // Init the task and do settings
  //-------------------------------------------------------

  TString name(Form("HadCorr_%s", outClusName));
  AliHadCorrTask *hcor = new AliHadCorrTask(name, histo);
  hcor->SetOutClusName(outClusName);
  hcor->SetPhiMatch(phiMatch);
  hcor->SetEtaMatch(etaMatch);
  hcor->SetHadCorr(hadcorr);
  hcor->SetEexcl(Eexcl);
  hcor->SetTrackClus(trackClus);

  AliParticleContainer *trackCont = hcor->AddParticleContainer(nTracks);  
  if (trackCont) trackCont->SetParticlePtCut(minPt);
  AliParticleContainer *clusCont = hcor->AddParticleContainer(nClusters);
  if (clusCont) clusCont->SetParticlePtCut(minPt);

  //-------------------------------------------------------
  // Final settings, pass to manager and set the containers
  //-------------------------------------------------------

  mgr->AddTask(hcor);
    
  // Create containers for input/output
  mgr->ConnectInput (hcor, 0, mgr->GetCommonInputContainer() );

  if (histo) {
    AliAnalysisDataContainer *cohcor = mgr->CreateContainer(name,
							    TList::Class(),
							    AliAnalysisManager::kOutputContainer,
							    outputname);
    mgr->ConnectOutput(hcor,1,cohcor);
  }
    
  return hcor;
}
 AddTaskHadCorr.C:1
 AddTaskHadCorr.C:2
 AddTaskHadCorr.C:3
 AddTaskHadCorr.C:4
 AddTaskHadCorr.C:5
 AddTaskHadCorr.C:6
 AddTaskHadCorr.C:7
 AddTaskHadCorr.C:8
 AddTaskHadCorr.C:9
 AddTaskHadCorr.C:10
 AddTaskHadCorr.C:11
 AddTaskHadCorr.C:12
 AddTaskHadCorr.C:13
 AddTaskHadCorr.C:14
 AddTaskHadCorr.C:15
 AddTaskHadCorr.C:16
 AddTaskHadCorr.C:17
 AddTaskHadCorr.C:18
 AddTaskHadCorr.C:19
 AddTaskHadCorr.C:20
 AddTaskHadCorr.C:21
 AddTaskHadCorr.C:22
 AddTaskHadCorr.C:23
 AddTaskHadCorr.C:24
 AddTaskHadCorr.C:25
 AddTaskHadCorr.C:26
 AddTaskHadCorr.C:27
 AddTaskHadCorr.C:28
 AddTaskHadCorr.C:29
 AddTaskHadCorr.C:30
 AddTaskHadCorr.C:31
 AddTaskHadCorr.C:32
 AddTaskHadCorr.C:33
 AddTaskHadCorr.C:34
 AddTaskHadCorr.C:35
 AddTaskHadCorr.C:36
 AddTaskHadCorr.C:37
 AddTaskHadCorr.C:38
 AddTaskHadCorr.C:39
 AddTaskHadCorr.C:40
 AddTaskHadCorr.C:41
 AddTaskHadCorr.C:42
 AddTaskHadCorr.C:43
 AddTaskHadCorr.C:44
 AddTaskHadCorr.C:45
 AddTaskHadCorr.C:46
 AddTaskHadCorr.C:47
 AddTaskHadCorr.C:48
 AddTaskHadCorr.C:49
 AddTaskHadCorr.C:50
 AddTaskHadCorr.C:51
 AddTaskHadCorr.C:52
 AddTaskHadCorr.C:53
 AddTaskHadCorr.C:54
 AddTaskHadCorr.C:55
 AddTaskHadCorr.C:56
 AddTaskHadCorr.C:57
 AddTaskHadCorr.C:58
 AddTaskHadCorr.C:59
 AddTaskHadCorr.C:60
 AddTaskHadCorr.C:61
 AddTaskHadCorr.C:62
 AddTaskHadCorr.C:63
 AddTaskHadCorr.C:64
 AddTaskHadCorr.C:65
 AddTaskHadCorr.C:66
 AddTaskHadCorr.C:67
 AddTaskHadCorr.C:68
 AddTaskHadCorr.C:69
 AddTaskHadCorr.C:70
 AddTaskHadCorr.C:71