ROOT logo
AliAnalysisTask *AddTask_ConversionAODProduction(Int_t dataset=0, Bool_t isMC = kFALSE){

	// Before doing anything, we load the needed library
	gSystem->Load("libPWGGAGammaConv.so");
	// dataset 0: pp
	// dataset 1: PbPb
	// dataset 2: pPb

	//get the current analysis manager
	AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
	if (!mgr) {
		Error("AddTask_V0ReaderV1", "No analysis manager found.");
		return 0;
	}

//========= Add PID Reponse to ANALYSIS manager ====
	if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
	gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
	AddTaskPIDResponse(isMC);
	}
	
	TString analysiscut;
	TString analysiscutEvent;
	TString analysiscutB;

	if(dataset == 1){
		analysiscutEvent = "1000000";
		analysiscut= "060000084000001500000000";
		analysiscutB="160000084000001500000000";
	} else if (dataset == 2){
		analysiscutEvent = "8000000";
		analysiscut= "060000084000001500000000";
		analysiscutB="160000084000001500000000";
	} else{
		analysiscutEvent = "0000000";
		analysiscut ="060000084001001500000000";
		analysiscutB="160000084001001500000000";
	}

	//========= Add V0 Reader to  ANALYSIS manager =====

	AliV0ReaderV1 *fV0Reader=new AliV0ReaderV1("ConvGammaAODProduction");
	fV0Reader->SetCreateAODs(kTRUE);
	fV0Reader->SetUseOwnXYZCalculation(kTRUE);
	fV0Reader->SetUseAODConversionPhoton(kTRUE);
//     fV0Reader->CheckAODConsistency();

	AliV0ReaderV1 *fV0ReaderB=new AliV0ReaderV1("ConvGammaAODProductionB");
	fV0ReaderB->SetCreateAODs(kTRUE);
	fV0ReaderB->SetUseOwnXYZCalculation(kTRUE);
	fV0ReaderB->SetUseAODConversionPhoton(kTRUE);
//     fV0ReaderB->CheckAODConsistency();

	AliConvEventCuts *fEventCutsA=NULL;
	AliConvEventCuts *fEventCutsB=NULL;
	if(analysiscutEvent!=""){
		fEventCutsA= new AliConvEventCuts(analysiscutEvent.Data(),analysiscutEvent.Data());
		fEventCutsA->SetPreSelectionCutFlag(kTRUE);
		fEventCutsA->SetV0ReaderName("ConvGammaAODProduction");
		if(fEventCutsA->InitializeCutsFromCutString(analysiscutEvent.Data())){
			fV0Reader->SetEventCuts(fEventCutsA);
		}
		fEventCutsB= new AliConvEventCuts(analysiscutEvent.Data(),analysiscutEvent.Data());
		fEventCutsB->SetPreSelectionCutFlag(kTRUE);
		fEventCutsB->SetV0ReaderName("ConvGammaAODProductionB");
		if(fEventCutsB->InitializeCutsFromCutString(analysiscutEvent.Data())){
			fV0ReaderB->SetEventCuts(fEventCutsB);
		}
	}
	
	// Set AnalysisCut Number
	AliConversionPhotonCuts *fCuts= new AliConversionPhotonCuts(analysiscut.Data(),analysiscut.Data());
	AliConversionPhotonCuts *fCutsB= new AliConversionPhotonCuts(analysiscutB.Data(),analysiscutB.Data());
	if(fCuts->InitializeCutsFromCutString(analysiscut.Data())){
		fCuts->SetIsHeavyIon(dataset);
		fV0Reader->SetConversionCuts(fCuts);
	}
	
	fV0Reader->Init();

	if(fCutsB->InitializeCutsFromCutString(analysiscutB.Data())){
		fCutsB->SetIsHeavyIon(dataset);
		fV0ReaderB->SetConversionCuts(fCutsB);
	}
	fV0ReaderB->Init();

	AliLog::SetGlobalLogLevel(AliLog::kInfo);

	//================================================
	//              data containers
	//================================================
	//            find input container
	//below the trunk version
	AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();

	// connect input V0Reader
	mgr->AddTask(fV0Reader);
	mgr->ConnectInput (fV0Reader,0,cinput);

	mgr->AddTask(fV0ReaderB);
	mgr->ConnectInput (fV0ReaderB,0,cinput);

	return fV0Reader;
}
 AddTask_ConversionAODProduction.C:1
 AddTask_ConversionAODProduction.C:2
 AddTask_ConversionAODProduction.C:3
 AddTask_ConversionAODProduction.C:4
 AddTask_ConversionAODProduction.C:5
 AddTask_ConversionAODProduction.C:6
 AddTask_ConversionAODProduction.C:7
 AddTask_ConversionAODProduction.C:8
 AddTask_ConversionAODProduction.C:9
 AddTask_ConversionAODProduction.C:10
 AddTask_ConversionAODProduction.C:11
 AddTask_ConversionAODProduction.C:12
 AddTask_ConversionAODProduction.C:13
 AddTask_ConversionAODProduction.C:14
 AddTask_ConversionAODProduction.C:15
 AddTask_ConversionAODProduction.C:16
 AddTask_ConversionAODProduction.C:17
 AddTask_ConversionAODProduction.C:18
 AddTask_ConversionAODProduction.C:19
 AddTask_ConversionAODProduction.C:20
 AddTask_ConversionAODProduction.C:21
 AddTask_ConversionAODProduction.C:22
 AddTask_ConversionAODProduction.C:23
 AddTask_ConversionAODProduction.C:24
 AddTask_ConversionAODProduction.C:25
 AddTask_ConversionAODProduction.C:26
 AddTask_ConversionAODProduction.C:27
 AddTask_ConversionAODProduction.C:28
 AddTask_ConversionAODProduction.C:29
 AddTask_ConversionAODProduction.C:30
 AddTask_ConversionAODProduction.C:31
 AddTask_ConversionAODProduction.C:32
 AddTask_ConversionAODProduction.C:33
 AddTask_ConversionAODProduction.C:34
 AddTask_ConversionAODProduction.C:35
 AddTask_ConversionAODProduction.C:36
 AddTask_ConversionAODProduction.C:37
 AddTask_ConversionAODProduction.C:38
 AddTask_ConversionAODProduction.C:39
 AddTask_ConversionAODProduction.C:40
 AddTask_ConversionAODProduction.C:41
 AddTask_ConversionAODProduction.C:42
 AddTask_ConversionAODProduction.C:43
 AddTask_ConversionAODProduction.C:44
 AddTask_ConversionAODProduction.C:45
 AddTask_ConversionAODProduction.C:46
 AddTask_ConversionAODProduction.C:47
 AddTask_ConversionAODProduction.C:48
 AddTask_ConversionAODProduction.C:49
 AddTask_ConversionAODProduction.C:50
 AddTask_ConversionAODProduction.C:51
 AddTask_ConversionAODProduction.C:52
 AddTask_ConversionAODProduction.C:53
 AddTask_ConversionAODProduction.C:54
 AddTask_ConversionAODProduction.C:55
 AddTask_ConversionAODProduction.C:56
 AddTask_ConversionAODProduction.C:57
 AddTask_ConversionAODProduction.C:58
 AddTask_ConversionAODProduction.C:59
 AddTask_ConversionAODProduction.C:60
 AddTask_ConversionAODProduction.C:61
 AddTask_ConversionAODProduction.C:62
 AddTask_ConversionAODProduction.C:63
 AddTask_ConversionAODProduction.C:64
 AddTask_ConversionAODProduction.C:65
 AddTask_ConversionAODProduction.C:66
 AddTask_ConversionAODProduction.C:67
 AddTask_ConversionAODProduction.C:68
 AddTask_ConversionAODProduction.C:69
 AddTask_ConversionAODProduction.C:70
 AddTask_ConversionAODProduction.C:71
 AddTask_ConversionAODProduction.C:72
 AddTask_ConversionAODProduction.C:73
 AddTask_ConversionAODProduction.C:74
 AddTask_ConversionAODProduction.C:75
 AddTask_ConversionAODProduction.C:76
 AddTask_ConversionAODProduction.C:77
 AddTask_ConversionAODProduction.C:78
 AddTask_ConversionAODProduction.C:79
 AddTask_ConversionAODProduction.C:80
 AddTask_ConversionAODProduction.C:81
 AddTask_ConversionAODProduction.C:82
 AddTask_ConversionAODProduction.C:83
 AddTask_ConversionAODProduction.C:84
 AddTask_ConversionAODProduction.C:85
 AddTask_ConversionAODProduction.C:86
 AddTask_ConversionAODProduction.C:87
 AddTask_ConversionAODProduction.C:88
 AddTask_ConversionAODProduction.C:89
 AddTask_ConversionAODProduction.C:90
 AddTask_ConversionAODProduction.C:91
 AddTask_ConversionAODProduction.C:92
 AddTask_ConversionAODProduction.C:93
 AddTask_ConversionAODProduction.C:94
 AddTask_ConversionAODProduction.C:95
 AddTask_ConversionAODProduction.C:96
 AddTask_ConversionAODProduction.C:97
 AddTask_ConversionAODProduction.C:98
 AddTask_ConversionAODProduction.C:99
 AddTask_ConversionAODProduction.C:100
 AddTask_ConversionAODProduction.C:101
 AddTask_ConversionAODProduction.C:102
 AddTask_ConversionAODProduction.C:103
 AddTask_ConversionAODProduction.C:104
 AddTask_ConversionAODProduction.C:105