//=========================================================================//
// //
// Analysis AddTask for Particle Ratio Fluctuation Study //
// Author: Deepika Rathee || Satyajit Jenara //
// drathee@cern.ch || sjena@cern.ch //
// Thu Dec 19 09:09:38 CET 2013
// //
//=========================================================================//
void AddAliEbyENetChargeFluctuationTask(const Char_t *taskname="TOFTPC",
const Char_t *centralityEstimator = "V0M",
Bool_t isModeAOD = 1,
Int_t aodFilterBit = 768,
Int_t sysType = 0, // 0-pp,1-pA,2-AA, 3,4,5 mc
Int_t cuttype = 9, // esd cut type
Int_t pidtype = 2,
Int_t requestTofPid = 1,
Double_t nSigmaCut = 3.,
Double_t lptfortof = 0.5,
Double_t ptl = 0.5,
Double_t pth = 5.0,
Double_t gEta = 0.8,
Double_t gRap = 0.5,
Double_t dcaxy = 2.4,
Double_t dcaz = 3.2,
Double_t vz = 10.,
Int_t nSample = 25,
Int_t analType = 1) {
Double_t vx = 3.; Double_t vy = 3.;
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskFluctuations", "No analysis manager to connect to.");
return NULL;
}
if (!mgr->GetInputEventHandler()) {
::Error("AddTaskFluctuations", "This task requires an input event handler");
return NULL;
}
Bool_t isMC = (mgr->GetMCtruthEventHandler() != NULL);
if (isMC)
Info("AddTaskNetParticle", "This task has MC.");
AliEbyENetChargeFluctuationTask *task = new AliEbyENetChargeFluctuationTask(taskname);
if (!task) {
Error("EbyEPidRatio", "Task could not be created.");
return NULL;
}
Printf("============================== I am here very great ================================");
if (isMC) task->SetIsMC();
Int_t sysii = sysType;
if (sysType > 2) {task->SetIsMC(); sysii = sysType - 3;}
if (isModeAOD) {
task->SetIsAOD();
task->SetTrackFilterBit(aodFilterBit);
}
task->SetSystemType(sysii);
task->SetCentralityEstimator(centralityEstimator);
task->SetVertexDiamond(vx,vy,vz);
task->SetKinematicsCuts(ptl,pth,gEta,gRap);
task->SetNSubSamples(nSample);
task->SetDca(dcaxy,dcaz);
if (!isModeAOD) {
gROOT->LoadMacro("$ALICE_ROOT/PWGCF/EBYE/PIDFluctuation/macros/configureNetChargeTrackCut.C");
// gROOT->LoadMacro("./configureNetChargeTrackCut.C");
AliESDtrackCuts *cuts = configureNetChargeTrackCut(cuttype,10001006, gEta, 5.,5.);
task->SetAnalysisCutObject(cuts);
}
AliHelperPID* help = new AliHelperPID();
help->SetNSigmaCut(nSigmaCut);
help->SetPIDType(pidtype); // kNSigmaTPC,kNSigmaTOF, kNSigmaTPCTOF
if (requestTofPid) {
help->SetfRequestTOFPID(requestTofPid);
if (ptl != 0 ) help->SetfPtTOFPID(lptfortof);
}
if (sysType > 2) help->SetisMC(1); else help->SetisMC(0);
if (pidtype == 3){
AliPIDCombined *pidc=new AliPIDCombined();
pidc->SetDefaultTPCPriors();
help->SetPIDCombined(pidc);
}
task->SetHelperPID(help);
task->SetAnal(analType);
mgr->AddTask(task);
TString commonname = Form("%s:%s", AliAnalysisManager::GetCommonFileName(),taskname);
AliAnalysisDataContainer *cout1
= mgr->CreateContainer(Form("%s_phy",taskname), TList::Class(),
AliAnalysisManager::kOutputContainer, commonname);
AliAnalysisDataContainer *cout2
= mgr->CreateContainer(Form("%s_qa",taskname), TList::Class(),
AliAnalysisManager::kOutputContainer, commonname);
AliAnalysisDataContainer *cout3
= mgr->CreateContainer(Form("%s_dca",taskname), TList::Class(),
AliAnalysisManager::kOutputContainer, commonname);
AliAnalysisDataContainer *cout4
= mgr->CreateContainer(Form("%s_eff",taskname), TList::Class(),
AliAnalysisManager::kOutputContainer, commonname);
mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(task, 1, cout1);
mgr->ConnectOutput(task, 2, cout2);
mgr->ConnectOutput(task, 3, cout3);
mgr->ConnectOutput(task, 4, cout4);
return;
}
AddAliEbyENetChargeFluctuationTask.C:1 AddAliEbyENetChargeFluctuationTask.C:2 AddAliEbyENetChargeFluctuationTask.C:3 AddAliEbyENetChargeFluctuationTask.C:4 AddAliEbyENetChargeFluctuationTask.C:5 AddAliEbyENetChargeFluctuationTask.C:6 AddAliEbyENetChargeFluctuationTask.C:7 AddAliEbyENetChargeFluctuationTask.C:8 AddAliEbyENetChargeFluctuationTask.C:9 AddAliEbyENetChargeFluctuationTask.C:10 AddAliEbyENetChargeFluctuationTask.C:11 AddAliEbyENetChargeFluctuationTask.C:12 AddAliEbyENetChargeFluctuationTask.C:13 AddAliEbyENetChargeFluctuationTask.C:14 AddAliEbyENetChargeFluctuationTask.C:15 AddAliEbyENetChargeFluctuationTask.C:16 AddAliEbyENetChargeFluctuationTask.C:17 AddAliEbyENetChargeFluctuationTask.C:18 AddAliEbyENetChargeFluctuationTask.C:19 AddAliEbyENetChargeFluctuationTask.C:20 AddAliEbyENetChargeFluctuationTask.C:21 AddAliEbyENetChargeFluctuationTask.C:22 AddAliEbyENetChargeFluctuationTask.C:23 AddAliEbyENetChargeFluctuationTask.C:24 AddAliEbyENetChargeFluctuationTask.C:25 AddAliEbyENetChargeFluctuationTask.C:26 AddAliEbyENetChargeFluctuationTask.C:27 AddAliEbyENetChargeFluctuationTask.C:28 AddAliEbyENetChargeFluctuationTask.C:29 AddAliEbyENetChargeFluctuationTask.C:30 AddAliEbyENetChargeFluctuationTask.C:31 AddAliEbyENetChargeFluctuationTask.C:32 AddAliEbyENetChargeFluctuationTask.C:33 AddAliEbyENetChargeFluctuationTask.C:34 AddAliEbyENetChargeFluctuationTask.C:35 AddAliEbyENetChargeFluctuationTask.C:36 AddAliEbyENetChargeFluctuationTask.C:37 AddAliEbyENetChargeFluctuationTask.C:38 AddAliEbyENetChargeFluctuationTask.C:39 AddAliEbyENetChargeFluctuationTask.C:40 AddAliEbyENetChargeFluctuationTask.C:41 AddAliEbyENetChargeFluctuationTask.C:42 AddAliEbyENetChargeFluctuationTask.C:43 AddAliEbyENetChargeFluctuationTask.C:44 AddAliEbyENetChargeFluctuationTask.C:45 AddAliEbyENetChargeFluctuationTask.C:46 AddAliEbyENetChargeFluctuationTask.C:47 AddAliEbyENetChargeFluctuationTask.C:48 AddAliEbyENetChargeFluctuationTask.C:49 AddAliEbyENetChargeFluctuationTask.C:50 AddAliEbyENetChargeFluctuationTask.C:51 AddAliEbyENetChargeFluctuationTask.C:52 AddAliEbyENetChargeFluctuationTask.C:53 AddAliEbyENetChargeFluctuationTask.C:54 AddAliEbyENetChargeFluctuationTask.C:55 AddAliEbyENetChargeFluctuationTask.C:56 AddAliEbyENetChargeFluctuationTask.C:57 AddAliEbyENetChargeFluctuationTask.C:58 AddAliEbyENetChargeFluctuationTask.C:59 AddAliEbyENetChargeFluctuationTask.C:60 AddAliEbyENetChargeFluctuationTask.C:61 AddAliEbyENetChargeFluctuationTask.C:62 AddAliEbyENetChargeFluctuationTask.C:63 AddAliEbyENetChargeFluctuationTask.C:64 AddAliEbyENetChargeFluctuationTask.C:65 AddAliEbyENetChargeFluctuationTask.C:66 AddAliEbyENetChargeFluctuationTask.C:67 AddAliEbyENetChargeFluctuationTask.C:68 AddAliEbyENetChargeFluctuationTask.C:69 AddAliEbyENetChargeFluctuationTask.C:70 AddAliEbyENetChargeFluctuationTask.C:71 AddAliEbyENetChargeFluctuationTask.C:72 AddAliEbyENetChargeFluctuationTask.C:73 AddAliEbyENetChargeFluctuationTask.C:74 AddAliEbyENetChargeFluctuationTask.C:75 AddAliEbyENetChargeFluctuationTask.C:76 AddAliEbyENetChargeFluctuationTask.C:77 AddAliEbyENetChargeFluctuationTask.C:78 AddAliEbyENetChargeFluctuationTask.C:79 AddAliEbyENetChargeFluctuationTask.C:80 AddAliEbyENetChargeFluctuationTask.C:81 AddAliEbyENetChargeFluctuationTask.C:82 AddAliEbyENetChargeFluctuationTask.C:83 AddAliEbyENetChargeFluctuationTask.C:84 AddAliEbyENetChargeFluctuationTask.C:85 AddAliEbyENetChargeFluctuationTask.C:86 AddAliEbyENetChargeFluctuationTask.C:87 AddAliEbyENetChargeFluctuationTask.C:88 AddAliEbyENetChargeFluctuationTask.C:89 AddAliEbyENetChargeFluctuationTask.C:90 AddAliEbyENetChargeFluctuationTask.C:91 AddAliEbyENetChargeFluctuationTask.C:92 AddAliEbyENetChargeFluctuationTask.C:93 AddAliEbyENetChargeFluctuationTask.C:94 AddAliEbyENetChargeFluctuationTask.C:95 AddAliEbyENetChargeFluctuationTask.C:96 AddAliEbyENetChargeFluctuationTask.C:97 AddAliEbyENetChargeFluctuationTask.C:98 AddAliEbyENetChargeFluctuationTask.C:99 AddAliEbyENetChargeFluctuationTask.C:100 AddAliEbyENetChargeFluctuationTask.C:101 AddAliEbyENetChargeFluctuationTask.C:102 AddAliEbyENetChargeFluctuationTask.C:103 AddAliEbyENetChargeFluctuationTask.C:104 AddAliEbyENetChargeFluctuationTask.C:105 AddAliEbyENetChargeFluctuationTask.C:106 AddAliEbyENetChargeFluctuationTask.C:107 AddAliEbyENetChargeFluctuationTask.C:108 AddAliEbyENetChargeFluctuationTask.C:109 AddAliEbyENetChargeFluctuationTask.C:110 AddAliEbyENetChargeFluctuationTask.C:111 AddAliEbyENetChargeFluctuationTask.C:112 AddAliEbyENetChargeFluctuationTask.C:113 AddAliEbyENetChargeFluctuationTask.C:114 AddAliEbyENetChargeFluctuationTask.C:115 AddAliEbyENetChargeFluctuationTask.C:116 AddAliEbyENetChargeFluctuationTask.C:117 AddAliEbyENetChargeFluctuationTask.C:118 AddAliEbyENetChargeFluctuationTask.C:119 AddAliEbyENetChargeFluctuationTask.C:120 AddAliEbyENetChargeFluctuationTask.C:121 AddAliEbyENetChargeFluctuationTask.C:122 AddAliEbyENetChargeFluctuationTask.C:123 AddAliEbyENetChargeFluctuationTask.C:124 AddAliEbyENetChargeFluctuationTask.C:125 AddAliEbyENetChargeFluctuationTask.C:126 AddAliEbyENetChargeFluctuationTask.C:127 AddAliEbyENetChargeFluctuationTask.C:128 AddAliEbyENetChargeFluctuationTask.C:129