ROOT logo


AliAnalysisTaskEMCALIsoPhoton *AddTaskEMCALIsoPhoton(
						     TString period = "LHC11d",
						     TString trigbitname = "kEMC7",
						     TString geoname="EMCAL_COMPLETEV1",
						     TString pathstrsel = "/",
						     TString trackSelType = "standard",
						     Int_t   distToBadCh = 0,
						     Bool_t  useComplTrCuts = kFALSE
						     )
{
  // Get the pointer to the existing analysis manager via the static access method.
  //==============================================================================
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    ::Error("AddTaskEMCALIsoPhoton", "No analysis manager to connect to.");
    return NULL;
  }  
  
  // Create the task and configure it.
  //===========================================================================
  AliAnalysisTaskEMCALIsoPhoton* ana = new  AliAnalysisTaskEMCALIsoPhoton("");
  
  Bool_t isMC = (mgr->GetMCtruthEventHandler() != NULL);

  if(!isMC)
    ana->SelectCollisionCandidates( AliVEvent::kEMC1 | AliVEvent::kMB | AliVEvent::kEMC7 | AliVEvent::kINT7);
  
  //ana->SetClusThreshold(clusTh);
  
  ana->SetTrainMode(kTRUE);
  ana->SetTriggerBit(trigbitname);
  ana->SetMcMode(isMC);
  ana->SetPathStringSelect(pathstrsel.Data());
  gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
  AliESDtrackCuts *cutsp = new AliESDtrackCuts;
  AliESDtrackCuts *cutscomp = new AliESDtrackCuts;
  if(trackSelType == "standard"){
    cutsp->SetMinNClustersTPC(70);
    cutsp->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
    cutsp->SetMaxChi2PerClusterTPC(4);
    cutsp->SetRequireTPCRefit(kTRUE);
    cutsp->SetAcceptKinkDaughters(kFALSE);
    cutsp->SetMaxDCAToVertexZ(3.2);
    cutsp->SetMaxDCAToVertexXY(2.4);
    cutsp->SetDCAToVertex2D(kTRUE);
    cutsp->SetPtRange(0.2);
    cutsp->SetEtaRange(-1.0,1.0);
    cutscomp = cutsp;
    printf("standard tracks selected ++++++++++++++++++++\n");
  }
  if(trackSelType == "hybrid"){
    cutsp = CreateTrackCutsPWGJE(10001008);
    cutscomp =  CreateTrackCutsPWGJE(10011008);
    cutsp->SetPtRange(0.2);
    cutscomp->SetPtRange(0.2);
    ana->SetHybridOn();
    printf("hybrid tracks selected ++++++++++++++++++++\n");
  }
  ana->SetPrimTrackCuts(cutsp);
  if(useComplTrCuts)
    ana->SetComplTrackCuts(cutscomp);
  else
    ana->SetComplTrackCuts(cutsp);
  ana->SetPeriod(period.Data());
  ana->SetGeoName(geoname.Data());  
  //ana->SetTrackFilterBit(128);
  ana->SetDistanceToBadCh(distToBadCh);
  mgr->AddTask(ana);
  TString containername = "histEMCIsoPhoton."+trigbitname;
  TString containernameQA = "histosQA."+trigbitname;
  if(pathstrsel != "/"){
    TString dirpth = (TSubString)pathstrsel.operator()(1,1);
    containername += dirpth;
    containernameQA  += dirpth;
  }
  
  // Create ONLY the output containers for the data produced by the task.
  // Get and connect other common input/output containers via the manager as below
  //==============================================================================
  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(containername.Data(), 
							    TList::Class(),AliAnalysisManager::kOutputContainer,
							    Form("%s", AliAnalysisManager::GetCommonFileName()));

  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(containernameQA.Data(), 
							    TList::Class(),AliAnalysisManager::kOutputContainer,
							    Form("%s", AliAnalysisManager::GetCommonFileName()));
  
  mgr->ConnectInput  (ana, 0, mgr->GetCommonInputContainer());
  mgr->ConnectOutput (ana, 1, coutput1 );
  mgr->ConnectOutput (ana, 2, coutput2 );
   
  return ana;
}
 AddTaskEMCALIsoPhoton.C:1
 AddTaskEMCALIsoPhoton.C:2
 AddTaskEMCALIsoPhoton.C:3
 AddTaskEMCALIsoPhoton.C:4
 AddTaskEMCALIsoPhoton.C:5
 AddTaskEMCALIsoPhoton.C:6
 AddTaskEMCALIsoPhoton.C:7
 AddTaskEMCALIsoPhoton.C:8
 AddTaskEMCALIsoPhoton.C:9
 AddTaskEMCALIsoPhoton.C:10
 AddTaskEMCALIsoPhoton.C:11
 AddTaskEMCALIsoPhoton.C:12
 AddTaskEMCALIsoPhoton.C:13
 AddTaskEMCALIsoPhoton.C:14
 AddTaskEMCALIsoPhoton.C:15
 AddTaskEMCALIsoPhoton.C:16
 AddTaskEMCALIsoPhoton.C:17
 AddTaskEMCALIsoPhoton.C:18
 AddTaskEMCALIsoPhoton.C:19
 AddTaskEMCALIsoPhoton.C:20
 AddTaskEMCALIsoPhoton.C:21
 AddTaskEMCALIsoPhoton.C:22
 AddTaskEMCALIsoPhoton.C:23
 AddTaskEMCALIsoPhoton.C:24
 AddTaskEMCALIsoPhoton.C:25
 AddTaskEMCALIsoPhoton.C:26
 AddTaskEMCALIsoPhoton.C:27
 AddTaskEMCALIsoPhoton.C:28
 AddTaskEMCALIsoPhoton.C:29
 AddTaskEMCALIsoPhoton.C:30
 AddTaskEMCALIsoPhoton.C:31
 AddTaskEMCALIsoPhoton.C:32
 AddTaskEMCALIsoPhoton.C:33
 AddTaskEMCALIsoPhoton.C:34
 AddTaskEMCALIsoPhoton.C:35
 AddTaskEMCALIsoPhoton.C:36
 AddTaskEMCALIsoPhoton.C:37
 AddTaskEMCALIsoPhoton.C:38
 AddTaskEMCALIsoPhoton.C:39
 AddTaskEMCALIsoPhoton.C:40
 AddTaskEMCALIsoPhoton.C:41
 AddTaskEMCALIsoPhoton.C:42
 AddTaskEMCALIsoPhoton.C:43
 AddTaskEMCALIsoPhoton.C:44
 AddTaskEMCALIsoPhoton.C:45
 AddTaskEMCALIsoPhoton.C:46
 AddTaskEMCALIsoPhoton.C:47
 AddTaskEMCALIsoPhoton.C:48
 AddTaskEMCALIsoPhoton.C:49
 AddTaskEMCALIsoPhoton.C:50
 AddTaskEMCALIsoPhoton.C:51
 AddTaskEMCALIsoPhoton.C:52
 AddTaskEMCALIsoPhoton.C:53
 AddTaskEMCALIsoPhoton.C:54
 AddTaskEMCALIsoPhoton.C:55
 AddTaskEMCALIsoPhoton.C:56
 AddTaskEMCALIsoPhoton.C:57
 AddTaskEMCALIsoPhoton.C:58
 AddTaskEMCALIsoPhoton.C:59
 AddTaskEMCALIsoPhoton.C:60
 AddTaskEMCALIsoPhoton.C:61
 AddTaskEMCALIsoPhoton.C:62
 AddTaskEMCALIsoPhoton.C:63
 AddTaskEMCALIsoPhoton.C:64
 AddTaskEMCALIsoPhoton.C:65
 AddTaskEMCALIsoPhoton.C:66
 AddTaskEMCALIsoPhoton.C:67
 AddTaskEMCALIsoPhoton.C:68
 AddTaskEMCALIsoPhoton.C:69
 AddTaskEMCALIsoPhoton.C:70
 AddTaskEMCALIsoPhoton.C:71
 AddTaskEMCALIsoPhoton.C:72
 AddTaskEMCALIsoPhoton.C:73
 AddTaskEMCALIsoPhoton.C:74
 AddTaskEMCALIsoPhoton.C:75
 AddTaskEMCALIsoPhoton.C:76
 AddTaskEMCALIsoPhoton.C:77
 AddTaskEMCALIsoPhoton.C:78
 AddTaskEMCALIsoPhoton.C:79
 AddTaskEMCALIsoPhoton.C:80
 AddTaskEMCALIsoPhoton.C:81
 AddTaskEMCALIsoPhoton.C:82
 AddTaskEMCALIsoPhoton.C:83
 AddTaskEMCALIsoPhoton.C:84
 AddTaskEMCALIsoPhoton.C:85
 AddTaskEMCALIsoPhoton.C:86
 AddTaskEMCALIsoPhoton.C:87
 AddTaskEMCALIsoPhoton.C:88
 AddTaskEMCALIsoPhoton.C:89
 AddTaskEMCALIsoPhoton.C:90
 AddTaskEMCALIsoPhoton.C:91
 AddTaskEMCALIsoPhoton.C:92
 AddTaskEMCALIsoPhoton.C:93
 AddTaskEMCALIsoPhoton.C:94
 AddTaskEMCALIsoPhoton.C:95
 AddTaskEMCALIsoPhoton.C:96