ROOT logo
// runMeson.C
//
// run macro for central diffractive meson analysis
//
// Author: Felix Reidt <felix.reidt@cern.ch>
//
// based on:
// ---
// Template run macro for AliBasicTask.cxx/.h with example layout of
// physics selections and options, in macro and task.
//
// Author: Arvinder Palaha
//
class AliAnalysisGrid;

//______________________________________________________________________________
void runMeson(
             const char* runtype = "grid", // local, proof or grid
             const char *gridmode = "full", // Set the run mode (can be "full", "test", "offline", "submit" or "terminate"). Full & Test work for proof
             const bool bMCphyssel = 0, // 1 = looking at MC truth or reconstructed, 0 = looking at real data
             const Long64_t nentries = 2000, // for local and proof mode, ignored in grid mode. Set to 1234567890 for all events.
             const Long64_t firstentry = 0, // for local and proof mode, ignored in grid mode
             const char *proofdataset = "/alice/data/LHC10c_000120821_p1", // path to dataset on proof cluster, for proof analysis
             const char *proofcluster = "alice-caf.cern.ch", // which proof cluster to use in proof mode
             const char *taskname = "CDMeson" // sets name of grid generated macros
             )
{
	// check run type
	if(runtype != "local" && runtype != "proof" && runtype != "grid"){
		Printf("\n\tIncorrect run option, check first argument of run macro");
		Printf("\tint runtype = local, proof or grid\n");
		return;
	}
	Printf("%s analysis chosen",runtype);

	// load libraries (to be optimized)
	gSystem->Load("libCore.so");
	gSystem->Load("libTree.so");
	gSystem->Load("libPhysics");
	gSystem->Load("libMinuit");
	gSystem->Load("libProof");
	gSystem->Load("libmicrocern");
	gSystem->Load("liblhapdf");
	gSystem->Load("libpythia6");
	gSystem->Load("libEG");
	gSystem->Load("libGeom");
	gSystem->Load("libVMC");
	gSystem->Load("libEGPythia6");
	gSystem->Load("libSTEERBase");
	gSystem->Load("libESD");
	gSystem->Load("libCDB");
	gSystem->Load("libRAWDatabase");
	gSystem->Load("libRAWDatarec");
	gSystem->Load("libAOD");
	gSystem->Load("libANALYSIS");
	gSystem->Load("libANALYSISalice");
	gSystem->Load("libSTEER");
	gSystem->Load("libTENDER");
	gSystem->Load("libRAWDatasim");
	gSystem->Load("libFASTSIM");
	gSystem->Load("libEVGEN");
	gSystem->Load("libAliPythia6");
	gSystem->Load("libSTAT");
	gSystem->Load("libhijing");
	gSystem->Load("libTHijing");
	gSystem->Load("libSTRUCT");
	gSystem->Load("libPHOSUtils");
	gSystem->Load("libPHOSbase");
	gSystem->Load("libPHOSsim");
	gSystem->Load("libPHOSrec");
	gSystem->Load("libMUONcore");
	gSystem->Load("libMUONmapping");
	gSystem->Load("libMUONgeometry");
	gSystem->Load("libMUONcalib");
	gSystem->Load("libMUONraw");
	gSystem->Load("libMUONtrigger");
	gSystem->Load("libMUONbase");
	gSystem->Load("libMUONsim");
	gSystem->Load("libMUONrec");
	gSystem->Load("libMUONevaluation");
	gSystem->Load("libFMDbase");
	gSystem->Load("libFMDsim");
	gSystem->Load("libFMDrec");
	gSystem->Load("libPMDbase");
	gSystem->Load("libPMDsim");
	gSystem->Load("libPMDrec");
	gSystem->Load("libHMPIDbase");
	gSystem->Load("libHMPIDsim");
	gSystem->Load("libHMPIDrec");
	gSystem->Load("libT0base");
	gSystem->Load("libT0sim");
	gSystem->Load("libT0rec");
	gSystem->Load("libZDCbase");
	gSystem->Load("libZDCsim");
	gSystem->Load("libZDCrec");
	gSystem->Load("libACORDEbase");
	gSystem->Load("libACORDErec");
	gSystem->Load("libACORDEsim");
	gSystem->Load("libVZERObase");
	gSystem->Load("libVZEROrec");
	gSystem->Load("libVZEROsim");
	gSystem->Load("libEMCALraw");
	gSystem->Load("libEMCALUtils");
	gSystem->Load("libEMCALbase");
	gSystem->Load("libEMCALsim");
	gSystem->Load("libEMCALrec");
	gSystem->Load("libTPCbase");
	gSystem->Load("libTPCrec");
	gSystem->Load("libTPCsim");
	gSystem->Load("libTPCfast");
	gSystem->Load("libITSbase");
	gSystem->Load("libITSsim");
	gSystem->Load("libITSrec");
	gSystem->Load("libTRDbase");
	gSystem->Load("libTRDsim");
	gSystem->Load("libTRDrec");
	gSystem->Load("libTOFbase");
	gSystem->Load("libTOFrec");
	gSystem->Load("libTOFsim");
	gSystem->Load("libHLTbase");
	gSystem->Load("libHLTinterface");
	gSystem->Load("libHLTsim");
	gSystem->Load("libHLTrec");
	gSystem->Load("libPWGPP");

	// add aliroot include path
	gROOT->ProcessLine(Form(".include %s/include",
	                        gSystem->ExpandPathName("$ALICE_ROOT")));
	gROOT->ProcessLine(Form(".include $ALICE_ROOT/include",
	                        gSystem->ExpandPathName("$ALICE_ROOT")));
	gROOT->ProcessLine(Form(".include $ALICE_ROOT/ITS",
	                        gSystem->ExpandPathName("$ALICE_ROOT")));
	gROOT->ProcessLine(Form(".include $ALICE_ROOT/PWGPP/ITS",
	                        gSystem->ExpandPathName("$ALICE_ROOT")));
	gROOT->ProcessLine(Form(".include $ALICE_ROOT/VZERO",
	                        gSystem->ExpandPathName("$ALICE_ROOT")));

	gROOT->SetStyle("Plain");

	// create the alien handler and attach it to the manager
	AliAnalysisGrid *plugin =
		CreateAlienHandler(taskname, gridmode, proofcluster, proofdataset);

	// analysis manager
	AliAnalysisManager* mgr = new AliAnalysisManager("CDMeson-Manager");
	mgr->SetGridHandler(plugin);

	AliESDInputHandler* esdH = new AliESDInputHandler();
	mgr->SetInputEventHandler(esdH);

	// === Physics Selection Task ===
	gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
	AliPhysicsSelectionTask *physSelTask = AddTaskPhysicsSelection(bMCphyssel);
	if(!physSelTask) { Printf("no physSelTask"); return; }

	// === Add PID Response Task ===
	gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
	AliAnalysisTaskPIDResponse *pidResponseTask = AddTaskPIDResponse(bMCphyssel);
	if(!pidResponseTask) { Printf("no pidResponseTask"); return; }


	// === create user task ===
	gROOT->LoadMacro("AliCDMesonBase.cxx+g");
	gROOT->LoadMacro("AliCDMesonTracks.cxx+g");
	gROOT->LoadMacro("AliCDMesonUtils.cxx+g");
	gROOT->LoadMacro("AliAnalysisTaskCDMeson.cxx+g");

	Long_t taskConfig = AliCDMesonBase::kBitConfigurationSet; // has to be set
	taskConfig |= AliCDMesonBase::kBitEtaPhiMaps;
	taskConfig |= AliCDMesonBase::kBitEtaPhiMapsWithCuts;
	taskConfig |= AliCDMesonBase::kBitStatsFlow;
	taskConfig |= AliCDMesonBase::kBitMultPerGapHists;
	taskConfig |= AliCDMesonBase::kBitRmMultPerGapHists;
	taskConfig |= AliCDMesonBase::kBitTHnMother;
	taskConfig |= AliCDMesonBase::kBitFastORStudy;
	taskConfig |= AliCDMesonBase::kBitHitMapSPD;
	taskConfig |= AliCDMesonBase::kBitHitMapFMD;
	taskConfig |= AliCDMesonBase::kBitVtxStudies;
	taskConfig |= AliCDMesonBase::kBitPIDStudy;
	taskConfig |= AliCDMesonBase::kBitFMDsum;
	taskConfig |= AliCDMesonBase::kBitSoftTracks;
	taskConfig |= AliCDMesonBase::kBitPWAtree;
	taskConfig |= AliCDMesonBase::kBitMultStudy;
	//taskConfig |= AliCDMesonBase::kBitReadPreprocessedGap;
	taskConfig |= AliCDMesonBase::kBitVZEROStudy;
	taskConfig |= AliCDMesonBase::kBitTPCGapStudy;
	if(bMCphyssel) taskConfig |= AliCDMesonBase::kBitMCProcess; // only for MC data
	if(bMCphyssel) taskConfig |= AliCDMesonBase::kBitTHnMC;
	if(bMCphyssel) taskConfig |= AliCDMesonBase::kBitMultResponseMC;
	//taskConfig |= AliCDMesonBase::kBitReduceGapEvents;
	taskConfig |= AliCDMesonBase::kBitConfigurationVersion;

	printf("taskConfig=0x%x\n", taskConfig);

	AliAnalysisTaskSE* task = new AliAnalysisTaskCDMeson(taskname, taskConfig);
	task->SelectCollisionCandidates(AliVEvent::kMB);
	mgr->AddTask(task);

	// INPUT ---------------------------------------------------------------------
	AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
	mgr->ConnectInput(task, 0, cinput );

	// OUTPUT --------------------------------------------------------------------
	// output filename
	Char_t foutname[100];
	Char_t foutnamePWA[100];
	sprintf(foutname,"cd_%s.root",taskname);
	sprintf(foutnamePWA,"cd_%sPWA.root",taskname);

	// output containers
	// in AnalysisTaskSE, slot 0 reserved, must start from 1
	// since the number of output containers is flexible, the slot is assigned
	// dynamically
	AliAnalysisDataContainer* outlist[6] = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 };
	Int_t nOutputs = 0;

	outlist[nOutputs] =
		mgr->CreateContainer("cd_Hist", TList::Class(),
		                     AliAnalysisManager::kOutputContainer,foutname);
	nOutputs++;
	mgr->ConnectOutput(task, nOutputs, outlist[nOutputs-1]);

	if (!taskConfig
	    || ((taskConfig & AliCDMesonBase::kBitSoftTracks)
	        && (taskConfig & AliCDMesonBase::kBitTHnMother))) {
		outlist[nOutputs] =
			mgr->CreateContainer("cd_ThnMother", THnSparse::Class(),
			                     AliAnalysisManager::kOutputContainer,foutname);
		nOutputs++;
		mgr->ConnectOutput(task, nOutputs, outlist[nOutputs-1]);
	}

	if (!taskConfig || (taskConfig & AliCDMesonBase::kBitSoftTracks)) {
		outlist[nOutputs] =
			mgr->CreateContainer("cd_ThnMotherSoft", THnSparse::Class(),
			                     AliAnalysisManager::kOutputContainer,foutname);
		nOutputs++;
		mgr->ConnectOutput(task, nOutputs, outlist[nOutputs-1]);
	}

	if (!taskConfig || (taskConfig & AliCDMesonBase::kBitMultStudy)) {
		outlist[nOutputs] =
			mgr->CreateContainer("cd_ThnMultiplicity", THnSparse::Class(),
			                     AliAnalysisManager::kOutputContainer,foutname);
		nOutputs++;
		mgr->ConnectOutput(task, nOutputs, outlist[nOutputs-1]);
	}

	if (!taskConfig || (taskConfig & AliCDMesonBase::kBitTHnMC)) {
		outlist[nOutputs] =
			mgr->CreateContainer("cd_ThnMotherMC", THnSparse::Class(),
			                     AliAnalysisManager::kOutputContainer,foutname);
		nOutputs++;
		mgr->ConnectOutput(task, nOutputs, outlist[nOutputs-1]);
	}
	if (!taskConfig || (taskConfig & AliCDMesonBase::kBitPWAtree)) {
		outlist[nOutputs] =
			mgr->CreateContainer("cd_PWA", TTree::Class(),
			                     AliAnalysisManager::kOutputContainer,foutnamePWA);
		nOutputs++;
		mgr->ConnectOutput(task, nOutputs, outlist[nOutputs-1]);
	}

	// enable debug printouts
	mgr->SetDebugLevel(2);
	//mgr->SetNSysInfo(100);
	if (!mgr->InitAnalysis()) return;
	mgr->PrintStatus();

	// start analysis
	Printf("Starting Analysis....");
	mgr->StartAnalysis(runtype); //,nentries,firstentry);
}

//______________________________________________________________________________
AliAnalysisGrid* CreateAlienHandler(const char *taskname,
                                    const char *gridmode,
                                    const char *proofcluster,
                                    const char *proofdataset)
{
	AliAnalysisAlien *plugin = new AliAnalysisAlien();
	// Set the run mode (can be "full", "test", "offline", "submit" or "terminate")
	plugin->SetOverwriteMode();
	plugin->SetRunMode(gridmode);

	plugin->SetMergeViaJDL(kTRUE);

	// Set versions of used packages
	plugin->SetAPIVersion("V1.1x");
	plugin->SetROOTVersion("v5-34-01-1");
	plugin->SetAliROOTVersion("v5-03-50-AN");

	// Declare input data to be processed.
	//plugin->SetCheckCopy(kFALSE);

	// Method 1: Create automatically XML collections using alien 'find' command.
	// Define production directory LFN
	plugin->SetGridDataDir("/alice/sim/2012/LHC12d4a");
	// On real reconstructed data:
	// plugin->SetGridDataDir("/alice/data/2009/LHC09d");
	// Set data search pattern
	plugin->SetDataPattern("*AliESDs.root"); // THIS CHOOSES ALL PASSES
	// Data pattern for reconstructed data
	//plugin->SetDataPattern("*ESDs/pass2/*ESDs.root"); // CHECK LATEST PASS OF DATA SET IN ALIENSH
	//    plugin->SetDataPattern("ESDs/pass2/AOD038/*AliAOD.root"); // CHECK LATEST PASS OF DATA SET IN ALIENSH
	plugin->SetRunPrefix(""); //000");   // real data
	// ...then add run numbers to be considered

	//Int_t runlist[15]={117039, 146859, 146858, 146856, 146824, 146817, 146806, 146805, 146804, 146803, 146802, 146801, 146748, 146747, 146746};  
	//for (Int_t ind=0; ind<1; ind++) {
	//	plugin->AddRunNumber(runlist[ind]);
	//}
	//plugin->SetRunRange(114917,115322);
	//plugin->AddRunNumber(117050);
	plugin->SetRunRange(115393,126408);

	plugin->SetNrunsPerMaster(1);

	// Define alien work directory where all files will be copied. Relative to alien $HOME.
	plugin->SetGridWorkingDir(taskname);

	// Declare alien output directory. Relative to working directory.
	plugin->SetGridOutputDir("out"); // In this case will be $HOME/taskname/out

	// Declare the analysis source files names separated by blancs. To be compiled runtime
	// using ACLiC on the worker nodes.
	plugin->SetAnalysisSource("AliCDMesonBase.cxx AliCDMesonTracks.cxx AliCDMesonUtils.cxx AliAnalysisTaskCDMeson.cxx");

	// Declare all libraries (other than the default ones for the framework. These will be
	// loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
	plugin->SetAdditionalLibs("libGui.so libCore.so libTree.so libPhysics.so libMinuit.so libProof.so libmicrocern.so liblhapdf.so libpythia6.so libEG.so libGeom.so libVMC.so libEGPythia6.so libSTEERBase.so libESD.so libRAWDatabase.so libRAWDatarec.so libAOD.so libANALYSIS.so libANALYSISalice.so libCDB.so libSTEER.so libRAWDatasim.so libFASTSIM.so libEVGEN.so libAliPythia6.so libSTAT.so libhijing.so libTHijing.so libSTRUCT.so libPHOSUtils.so libPHOSbase.so libPHOSsim.so libPHOSrec.so libMUONcore.so libMUONmapping.so libMUONgeometry.so libMUONcalib.so libMUONraw.so libMUONtrigger.so libMUONbase.so libMUONsim.so libMUONrec.so libMUONevaluation.so libFMDbase.so libFMDsim.so libFMDrec.so libPMDbase.so libPMDsim.so libPMDrec.so libHMPIDbase.so libHMPIDsim.so libHMPIDrec.so libT0base.so libT0sim.so libT0rec.so libZDCbase.so libZDCsim.so libZDCrec.so libACORDEbase.so libACORDErec.so libACORDEsim.so libVZERObase.so libVZEROrec.so libVZEROsim.so libEMCALraw.so libEMCALUtils.so libEMCALbase.so libEMCALsim.so libEMCALrec.so libTPCbase.so libTPCrec.so libTPCsim.so libTPCfast.so libITSbase.so libITSsim.so libITSrec.so libTRDbase.so libTRDsim.so libTRDrec.so libTOFbase.so libTOFrec.so libTOFsim.so libHLTbase.so libHLTinterface.so libHLTsim.so libHLTrec.so libTENDER.so libTENDERSupplies.so libPWGPP.so AliCDMesonBase.h AliCDMesonBase.cxx AliCDMesonTracks.h AliCDMesonTracks.cxx AliCDMesonUtils.h AliCDMesonUtils.cxx AliAnalysisTaskCDMeson.h AliAnalysisTaskCDMeson.cxx");

	plugin->AddIncludePath("-I$ALICE_ROOT/ITS -I$ALICE_ROOT/PWGPP/ITS");

	// Declare the output file names separated by blancs.
	// (can be like: file.root or file.root@ALICE::Niham::File)
	// To only save certain files, use SetDefaultOutputs(kFALSE), and then
	// SetOutputFiles("list.root other.filename") to choose which files to save
	plugin->SetDefaultOutputs();

	// Optionally set a name for the generated analysis macro (default MyAnalysis.C)
	plugin->SetAnalysisMacro("CDMeson.C");

	// Optionally set maximum number of input files/subjob (default 100, put 0 to ignore)
	plugin->SetSplitMaxInputFileNumber(100);

	// Optionally modify the executable name (default analysis.sh)
	plugin->SetExecutable("CDMeson.sh");

	// set number of test files to use in "test" mode
	plugin->SetNtestFiles(1);

	// Optionally resubmit threshold.
	//plugin->SetMasterResubmitThreshold(90);

	// Optionally set time to live (default 30000 sec)
	//plugin->SetTTL(30000);

	// Optionally set input format (default xml-single)
	//plugin->SetInputFormat("xml-single");

	// Optionally modify the name of the generated JDL (default analysis.jdl)
	plugin->SetJDLName("CDMeson.jdl");

	// Optionally modify job price (default 1)
	plugin->SetPrice(1);

	// Optionally modify split mode (default 'se')
	plugin->SetSplitMode("se");

	//----------------------------------------------------------
	//---      PROOF MODE SPECIFIC SETTINGS         ------------
	//----------------------------------------------------------
	// Proof cluster
	plugin->SetProofCluster(proofcluster);
	// Dataset to be used
	plugin->SetProofDataSet(proofdataset);
	// May need to reset proof. Supported modes: 0-no reset, 1-soft, 2-hard
	plugin->SetProofReset(0);
	// May limit number of workers
	plugin->SetNproofWorkers(0);
	// May limit the number of workers per slave
	plugin->SetNproofWorkersPerSlave(1);
	// May use a specific version of root installed in proof
	plugin->SetRootVersionForProof("current");
	// May set the aliroot mode. Check http://aaf.cern.ch/node/83
	plugin->SetAliRootMode("default"); // Loads AF libs by default
	// May request ClearPackages (individual ClearPackage not supported)
	plugin->SetClearPackages(kFALSE);
	// Plugin test mode works only providing a file containing test file locations, used in "local" mode also
	plugin->SetFileForTestMode("files.txt"); // file should contain path name to a local directory containg *ESDs.root etc
	// Request connection to alien upon connection to grid
	plugin->SetProofConnectGrid(kFALSE);
	// Other PROOF specific parameters
	plugin->SetProofParameter("PROOF_UseMergers","-1");
	printf("Using: PROOF_UseMergers   : %s\n", plugin->GetProofParameter("PROOF_UseMergers"));

	return plugin;
}
 runMesonGrid.C:1
 runMesonGrid.C:2
 runMesonGrid.C:3
 runMesonGrid.C:4
 runMesonGrid.C:5
 runMesonGrid.C:6
 runMesonGrid.C:7
 runMesonGrid.C:8
 runMesonGrid.C:9
 runMesonGrid.C:10
 runMesonGrid.C:11
 runMesonGrid.C:12
 runMesonGrid.C:13
 runMesonGrid.C:14
 runMesonGrid.C:15
 runMesonGrid.C:16
 runMesonGrid.C:17
 runMesonGrid.C:18
 runMesonGrid.C:19
 runMesonGrid.C:20
 runMesonGrid.C:21
 runMesonGrid.C:22
 runMesonGrid.C:23
 runMesonGrid.C:24
 runMesonGrid.C:25
 runMesonGrid.C:26
 runMesonGrid.C:27
 runMesonGrid.C:28
 runMesonGrid.C:29
 runMesonGrid.C:30
 runMesonGrid.C:31
 runMesonGrid.C:32
 runMesonGrid.C:33
 runMesonGrid.C:34
 runMesonGrid.C:35
 runMesonGrid.C:36
 runMesonGrid.C:37
 runMesonGrid.C:38
 runMesonGrid.C:39
 runMesonGrid.C:40
 runMesonGrid.C:41
 runMesonGrid.C:42
 runMesonGrid.C:43
 runMesonGrid.C:44
 runMesonGrid.C:45
 runMesonGrid.C:46
 runMesonGrid.C:47
 runMesonGrid.C:48
 runMesonGrid.C:49
 runMesonGrid.C:50
 runMesonGrid.C:51
 runMesonGrid.C:52
 runMesonGrid.C:53
 runMesonGrid.C:54
 runMesonGrid.C:55
 runMesonGrid.C:56
 runMesonGrid.C:57
 runMesonGrid.C:58
 runMesonGrid.C:59
 runMesonGrid.C:60
 runMesonGrid.C:61
 runMesonGrid.C:62
 runMesonGrid.C:63
 runMesonGrid.C:64
 runMesonGrid.C:65
 runMesonGrid.C:66
 runMesonGrid.C:67
 runMesonGrid.C:68
 runMesonGrid.C:69
 runMesonGrid.C:70
 runMesonGrid.C:71
 runMesonGrid.C:72
 runMesonGrid.C:73
 runMesonGrid.C:74
 runMesonGrid.C:75
 runMesonGrid.C:76
 runMesonGrid.C:77
 runMesonGrid.C:78
 runMesonGrid.C:79
 runMesonGrid.C:80
 runMesonGrid.C:81
 runMesonGrid.C:82
 runMesonGrid.C:83
 runMesonGrid.C:84
 runMesonGrid.C:85
 runMesonGrid.C:86
 runMesonGrid.C:87
 runMesonGrid.C:88
 runMesonGrid.C:89
 runMesonGrid.C:90
 runMesonGrid.C:91
 runMesonGrid.C:92
 runMesonGrid.C:93
 runMesonGrid.C:94
 runMesonGrid.C:95
 runMesonGrid.C:96
 runMesonGrid.C:97
 runMesonGrid.C:98
 runMesonGrid.C:99
 runMesonGrid.C:100
 runMesonGrid.C:101
 runMesonGrid.C:102
 runMesonGrid.C:103
 runMesonGrid.C:104
 runMesonGrid.C:105
 runMesonGrid.C:106
 runMesonGrid.C:107
 runMesonGrid.C:108
 runMesonGrid.C:109
 runMesonGrid.C:110
 runMesonGrid.C:111
 runMesonGrid.C:112
 runMesonGrid.C:113
 runMesonGrid.C:114
 runMesonGrid.C:115
 runMesonGrid.C:116
 runMesonGrid.C:117
 runMesonGrid.C:118
 runMesonGrid.C:119
 runMesonGrid.C:120
 runMesonGrid.C:121
 runMesonGrid.C:122
 runMesonGrid.C:123
 runMesonGrid.C:124
 runMesonGrid.C:125
 runMesonGrid.C:126
 runMesonGrid.C:127
 runMesonGrid.C:128
 runMesonGrid.C:129
 runMesonGrid.C:130
 runMesonGrid.C:131
 runMesonGrid.C:132
 runMesonGrid.C:133
 runMesonGrid.C:134
 runMesonGrid.C:135
 runMesonGrid.C:136
 runMesonGrid.C:137
 runMesonGrid.C:138
 runMesonGrid.C:139
 runMesonGrid.C:140
 runMesonGrid.C:141
 runMesonGrid.C:142
 runMesonGrid.C:143
 runMesonGrid.C:144
 runMesonGrid.C:145
 runMesonGrid.C:146
 runMesonGrid.C:147
 runMesonGrid.C:148
 runMesonGrid.C:149
 runMesonGrid.C:150
 runMesonGrid.C:151
 runMesonGrid.C:152
 runMesonGrid.C:153
 runMesonGrid.C:154
 runMesonGrid.C:155
 runMesonGrid.C:156
 runMesonGrid.C:157
 runMesonGrid.C:158
 runMesonGrid.C:159
 runMesonGrid.C:160
 runMesonGrid.C:161
 runMesonGrid.C:162
 runMesonGrid.C:163
 runMesonGrid.C:164
 runMesonGrid.C:165
 runMesonGrid.C:166
 runMesonGrid.C:167
 runMesonGrid.C:168
 runMesonGrid.C:169
 runMesonGrid.C:170
 runMesonGrid.C:171
 runMesonGrid.C:172
 runMesonGrid.C:173
 runMesonGrid.C:174
 runMesonGrid.C:175
 runMesonGrid.C:176
 runMesonGrid.C:177
 runMesonGrid.C:178
 runMesonGrid.C:179
 runMesonGrid.C:180
 runMesonGrid.C:181
 runMesonGrid.C:182
 runMesonGrid.C:183
 runMesonGrid.C:184
 runMesonGrid.C:185
 runMesonGrid.C:186
 runMesonGrid.C:187
 runMesonGrid.C:188
 runMesonGrid.C:189
 runMesonGrid.C:190
 runMesonGrid.C:191
 runMesonGrid.C:192
 runMesonGrid.C:193
 runMesonGrid.C:194
 runMesonGrid.C:195
 runMesonGrid.C:196
 runMesonGrid.C:197
 runMesonGrid.C:198
 runMesonGrid.C:199
 runMesonGrid.C:200
 runMesonGrid.C:201
 runMesonGrid.C:202
 runMesonGrid.C:203
 runMesonGrid.C:204
 runMesonGrid.C:205
 runMesonGrid.C:206
 runMesonGrid.C:207
 runMesonGrid.C:208
 runMesonGrid.C:209
 runMesonGrid.C:210
 runMesonGrid.C:211
 runMesonGrid.C:212
 runMesonGrid.C:213
 runMesonGrid.C:214
 runMesonGrid.C:215
 runMesonGrid.C:216
 runMesonGrid.C:217
 runMesonGrid.C:218
 runMesonGrid.C:219
 runMesonGrid.C:220
 runMesonGrid.C:221
 runMesonGrid.C:222
 runMesonGrid.C:223
 runMesonGrid.C:224
 runMesonGrid.C:225
 runMesonGrid.C:226
 runMesonGrid.C:227
 runMesonGrid.C:228
 runMesonGrid.C:229
 runMesonGrid.C:230
 runMesonGrid.C:231
 runMesonGrid.C:232
 runMesonGrid.C:233
 runMesonGrid.C:234
 runMesonGrid.C:235
 runMesonGrid.C:236
 runMesonGrid.C:237
 runMesonGrid.C:238
 runMesonGrid.C:239
 runMesonGrid.C:240
 runMesonGrid.C:241
 runMesonGrid.C:242
 runMesonGrid.C:243
 runMesonGrid.C:244
 runMesonGrid.C:245
 runMesonGrid.C:246
 runMesonGrid.C:247
 runMesonGrid.C:248
 runMesonGrid.C:249
 runMesonGrid.C:250
 runMesonGrid.C:251
 runMesonGrid.C:252
 runMesonGrid.C:253
 runMesonGrid.C:254
 runMesonGrid.C:255
 runMesonGrid.C:256
 runMesonGrid.C:257
 runMesonGrid.C:258
 runMesonGrid.C:259
 runMesonGrid.C:260
 runMesonGrid.C:261
 runMesonGrid.C:262
 runMesonGrid.C:263
 runMesonGrid.C:264
 runMesonGrid.C:265
 runMesonGrid.C:266
 runMesonGrid.C:267
 runMesonGrid.C:268
 runMesonGrid.C:269
 runMesonGrid.C:270
 runMesonGrid.C:271
 runMesonGrid.C:272
 runMesonGrid.C:273
 runMesonGrid.C:274
 runMesonGrid.C:275
 runMesonGrid.C:276
 runMesonGrid.C:277
 runMesonGrid.C:278
 runMesonGrid.C:279
 runMesonGrid.C:280
 runMesonGrid.C:281
 runMesonGrid.C:282
 runMesonGrid.C:283
 runMesonGrid.C:284
 runMesonGrid.C:285
 runMesonGrid.C:286
 runMesonGrid.C:287
 runMesonGrid.C:288
 runMesonGrid.C:289
 runMesonGrid.C:290
 runMesonGrid.C:291
 runMesonGrid.C:292
 runMesonGrid.C:293
 runMesonGrid.C:294
 runMesonGrid.C:295
 runMesonGrid.C:296
 runMesonGrid.C:297
 runMesonGrid.C:298
 runMesonGrid.C:299
 runMesonGrid.C:300
 runMesonGrid.C:301
 runMesonGrid.C:302
 runMesonGrid.C:303
 runMesonGrid.C:304
 runMesonGrid.C:305
 runMesonGrid.C:306
 runMesonGrid.C:307
 runMesonGrid.C:308
 runMesonGrid.C:309
 runMesonGrid.C:310
 runMesonGrid.C:311
 runMesonGrid.C:312
 runMesonGrid.C:313
 runMesonGrid.C:314
 runMesonGrid.C:315
 runMesonGrid.C:316
 runMesonGrid.C:317
 runMesonGrid.C:318
 runMesonGrid.C:319
 runMesonGrid.C:320
 runMesonGrid.C:321
 runMesonGrid.C:322
 runMesonGrid.C:323
 runMesonGrid.C:324
 runMesonGrid.C:325
 runMesonGrid.C:326
 runMesonGrid.C:327
 runMesonGrid.C:328
 runMesonGrid.C:329
 runMesonGrid.C:330
 runMesonGrid.C:331
 runMesonGrid.C:332
 runMesonGrid.C:333
 runMesonGrid.C:334
 runMesonGrid.C:335
 runMesonGrid.C:336
 runMesonGrid.C:337
 runMesonGrid.C:338
 runMesonGrid.C:339
 runMesonGrid.C:340
 runMesonGrid.C:341
 runMesonGrid.C:342
 runMesonGrid.C:343
 runMesonGrid.C:344
 runMesonGrid.C:345
 runMesonGrid.C:346
 runMesonGrid.C:347
 runMesonGrid.C:348
 runMesonGrid.C:349
 runMesonGrid.C:350
 runMesonGrid.C:351
 runMesonGrid.C:352
 runMesonGrid.C:353
 runMesonGrid.C:354
 runMesonGrid.C:355
 runMesonGrid.C:356
 runMesonGrid.C:357
 runMesonGrid.C:358
 runMesonGrid.C:359
 runMesonGrid.C:360
 runMesonGrid.C:361
 runMesonGrid.C:362
 runMesonGrid.C:363
 runMesonGrid.C:364
 runMesonGrid.C:365
 runMesonGrid.C:366
 runMesonGrid.C:367
 runMesonGrid.C:368
 runMesonGrid.C:369
 runMesonGrid.C:370
 runMesonGrid.C:371
 runMesonGrid.C:372
 runMesonGrid.C:373
 runMesonGrid.C:374
 runMesonGrid.C:375
 runMesonGrid.C:376
 runMesonGrid.C:377
 runMesonGrid.C:378
 runMesonGrid.C:379
 runMesonGrid.C:380
 runMesonGrid.C:381
 runMesonGrid.C:382
 runMesonGrid.C:383
 runMesonGrid.C:384
 runMesonGrid.C:385
 runMesonGrid.C:386
 runMesonGrid.C:387
 runMesonGrid.C:388
 runMesonGrid.C:389
 runMesonGrid.C:390
 runMesonGrid.C:391
 runMesonGrid.C:392
 runMesonGrid.C:393
 runMesonGrid.C:394
 runMesonGrid.C:395
 runMesonGrid.C:396
 runMesonGrid.C:397
 runMesonGrid.C:398
 runMesonGrid.C:399
 runMesonGrid.C:400