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