void AliHMPIDAnalysisTask()
{
-
-
+
//
// Macro to run the AliHMPIDAnalysisTask
+ // To use: copy this macro to your work directory, modify the global
+ // part to match your needs, then run root.
+ // root[0] .x AliHMPIDAnalysisTask.C
//
+
//______ Input settings
- Int_t nEvents = 10000000; //on Proof
+ Int_t nEvents = 650000; //on Proof
Int_t nOffset = 0; //on Proof
Int_t nFile2Xml = 10; //on Grid - how many ESD files to chain in xml
- TString xmlName="run104157.xml";//new.xml"; //name of the xml collection created
- // char *indataset = "/home/lmolnar/CERN/alice/Dec01_rv5-25-04_gcc/test/cosmic/100923/09000100923018.10";
-// char *indataset = "/COMMON/COMMON/LHC09a4_run8101X";
- // char *indataset = "/PWG4/kleinb/LHC09a3_90023_checked";///HMPID/lmolnar/run100923";///PWG4/kleinb/LHC09a3_90023_checked";
- char *indataset = "/home/lmolnar/CERN/alice/Dec01_rv5-25-04_gcc/test/cosmic/100923/09000100923018.10/AliESDs.root";
- // char *indataset = "/media/data/Data/09000100923018.10/AliESDs.root";
- // char *indataset = "/media/data/Data/alice/sim/LHC09a1/70213/001/AliESDs.root";
-
+ TString xmlName="HmpidCheckRun122080_test.xml";//new.xml"; //name of the xml collection created
+ Char_t *indataset = "/alice/sim/LHC10b4_114932";
+// char *indataset = "$HOME/HMPID/data/AliESDs.root";
+
//______ Select Local, Proof or Intercative Grid Analysis (but just only one :-))
Bool_t bLOCAL = kFALSE;
- Bool_t bPROOF = kFALSE;
- Bool_t bGRIDINT = kTRUE;
+ Bool_t bPROOF = kTRUE;
+ Bool_t bGRIDINT = kFALSE;
- AliLog::SetGlobalDebugLevel(2);
+// AliLog::SetGlobalDebugLevel(2);
+// AliLog::SetGlobalLogLevel(0);
//______ Init data set chain
TChain *chain = new TChain("esdTree");
//______ Define settings for PROOF
- const char* proofNode = "lmolnar@alicecaf";
+ const char* proofNode = "alice-caf";
gEnv->SetValue("XSec.GSI.DelegProxy","2");
+ gSystem->SetIncludePath("-I. -I$HOME/HMPID -I$ALICE_ROOT/include -I$ROOTSYS/include");
gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
+ gSystem->Load("libTree.so");
+ gSystem->Load("libGeom.so");
+ gSystem->Load("libVMC.so");
+ gSystem->Load("libPhysics.so");
gSystem->Load("libSTEERBase");
gSystem->Load("libESD");
gSystem->Load("libAOD");
gSystem->Load("libANALYSIS");
- gSystem->Load("libANALYSISalice");
+ gSystem->Load("libANALYSISalice");
+
//______ Create analysis manager
AliAnalysisManager *mgr = new AliAnalysisManager("HMPID Analysis Train", "HMPID Analysis Train");
+ mgr->SetDebugLevel(0);
+
//______ Create input handler, default ESD
AliESDInputHandler *esdHandler = new AliESDInputHandler();
mgr->SetInputEventHandler(esdHandler);
- mgr->SetDebugLevel(0);
- AliLog::SetGlobalLogLevel(0);
+
+ //______ Create MC input handler
+ AliMCEventHandler* mcHandler = new AliMCEventHandler();
+ mgr->SetMCtruthEventHandler(mcHandler);
+
//______ Create default input container
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
AliAnalysisDataContainer *hmpoutput= mgr->CreateContainer("hmpoutput", TList::Class(),AliAnalysisManager::kOutputContainer,"HmpidOutput.root");
-
- if(bLOCAL)
+
+ if(bLOCAL)
{
-
+
Printf("========> Running LOCAL HMPID Analysis <=========");
gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
gSystem->Load("libSTEERBase");
gSystem->Load("libESD");
gSystem->Load("libAOD");
gSystem->Load("libANALYSIS");
- gSystem->Load("libANALYSISalice");
+ gSystem->Load("libANALYSISalice");
//chain = CreateESDChain(dataset.Data());//,1,0,kFALSE,kFALSE,0);
- chain->Add(indataset);
- gSystem->SetIncludePath("-I. -I$HOME/HMPID -I$ALICE_ROOT/include -I$ROOTSYS/include");
- gROOT->LoadMacro(Form("%s/HMPID/AliHMPIDAnalysisTask.cxx++g",gSystem->Getenv("ALICE_ROOT")));//"AliHMPIDAnalysisTask.cxx++");
+ chain->Add(indataset);
+ gROOT->LoadMacro("AliHMPIDAnalysisTask.cxx++g");//"AliHMPIDAnalysisTask.cxx++");
AliHMPIDAnalysisTask *hmpTask = new AliHMPIDAnalysisTask("HMPIDAnalysisTask");
- mgr->AddTask(hmpTask);
+ mgr->AddTask(hmpTask);
}
- else if(bPROOF)
+ else if(bPROOF)
{
Printf("========> Running PROOF HMPID Analysis <=========");
- TProof::Open(proofNode);
- /*
- gProof->UploadPackage("STEERBase.par");
- gProof->EnablePackage("STEERBase");
- gProof->UploadPackage("ESD.par");
- gProof->EnablePackage("ESD");
- gProof->UploadPackage("ANALYSIS.par");
- gProof->EnablePackage("ANALYSIS");
- gProof->UploadPackage("ANALYSISalice.par");
- gProof->EnablePackage("ANALYSISalice");
- */
- gProof->UploadPackage("/afs/cern.ch/alice/caf/sw/ALICE/PARs/v4-17-Release/AF-v4-17");
- gProof->EnablePackage("/afs/cern.ch/alice/caf/sw/ALICE/PARs/v4-17-Release/AF-v4-17");
+ TProof::Open(proofNode);
+// gProof->SetParallel(2);
+ gProof->EnablePackage("VO_ALICE@AliRoot::v4-19-14-AN");
gProof->Load(Form("%s/HMPID/AliHMPIDAnalysisTask.cxx++g",gSystem->Getenv("ALICE_ROOT")));
+// gProof->Load("AliHMPIDAnalysisTask.cxx++g");//"AliHMPIDAnalysisTask.cxx++");
AliHMPIDAnalysisTask *hmpTask = new AliHMPIDAnalysisTask("HMPIDAnalysisTask");
- mgr->AddTask(hmpTask);
+ mgr->AddTask(hmpTask);
}
- else if(bGRIDINT)
+ else if(bGRIDINT)
{
Printf("========> Running INTERCATIVE GRID HMPID Analysis <=========");
gSystem->Load("libSTEERBase");
gSystem->Load("libESD");
gSystem->Load("libANALYSIS");
- gSystem->Load("libANALYSISalice");
- //______ Add HMPID task
+ gSystem->Load("libANALYSISalice");
+ //______ Add HMPID task
gSystem->SetIncludePath("-I. -I$HOME/HMPID -I$ALICE_ROOT/include -I$ROOTSYS/include");
gROOT->LoadMacro("$ALICE_ROOT/HMPID/AliHMPIDAnalysisTask.cxx++");
-
-
+
+
TGrid::Connect("alien://");
- chain = CreateChainFromCollection(xmlName.Data(),"esdTree",nFile2Xml);
+ chain = CreateChainFromCollection(xmlName.Data(),"esdTree",nFile2Xml);
//gROOT->LoadMacro(Form("%s/HMPID/AliHMPIDAnalysisTask.cxx++g",gSystem->Getenv("ALICE_ROOT")));//"AliHMPIDAnalysisTask.cxx++");
//gROOT->LoadMacro("$ALICE_ROOT/HMPID/AliHMPIDAnalysisTask.cxx++");
AliHMPIDAnalysisTask *hmpTask = new AliHMPIDAnalysisTask("HMPIDAnalysisTask");
- mgr->AddTask(hmpTask);
+ mgr->AddTask(hmpTask);
}
-
-
- if(bLOCAL)
- {
- //______ Add HMPID task
- gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
- gSystem->Load("libSTEERBase");
- gSystem->Load("libESD");
- gSystem->Load("libAOD");
- gSystem->Load("libANALYSIS");
- gSystem->Load("libANALYSISalice");
-
+
+ if(bLOCAL)
+ {
+ //______ Add HMPID task
+ gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
+ gSystem->Load("libSTEERBase");
+ gSystem->Load("libESD");
+ gSystem->Load("libAOD");
+ gSystem->Load("libANALYSIS");
+ gSystem->Load("libANALYSISalice");
}
if ( bPROOF )
{
- }
-
- mgr->ConnectInput(hmpTask,0,cinput);
- mgr->ConnectOutput(hmpTask,0,hmpoutput);
-
-
-
- if (mgr->InitAnalysis()) {
- mgr->PrintStatus();
- if(bLOCAL || bGRIDINT) mgr->StartAnalysis("local",chain);
- else if(bPROOF) mgr->StartAnalysis("proof",dataset.Data(), nEvents,nOffset);
- }
-
+ }
+
+ mgr->ConnectInput(hmpTask,0,cinput);
+ mgr->ConnectOutput(hmpTask,0,hmpoutput);
+
+
+ if (mgr->InitAnalysis()) {
+ mgr->PrintStatus();
+ if(bLOCAL || bGRIDINT) mgr->StartAnalysis("local",chain);
+ else if(bPROOF) mgr->StartAnalysis("proof",dataset.Data(), nEvents,nOffset);
+ }
}
+
//__________________________________________________________________________________
TChain *CreateChainFromCollection(const char* xmlfile, const char *treeName="esdTree",Int_t nFiles = 0)
{
-// Create a chain from an alien collection.
+// Create a chain from an alien collection.
TAlienCollection * myCollection = TAlienCollection::Open(xmlfile);
if (!myCollection) {
- ::Error("CreateChainSingle", "Cannot create an AliEn collection from %s", xmlfile) ;
+ ::Error("CreateChainSingle", "Cannot create an AliEn collection from %s", xmlfile);
return NULL ;
}
TChain* chain = new TChain(treeName);
- myCollection->Reset() ;
+ myCollection->Reset();
Int_t iCount = 0;
while ( myCollection->Next() ){
if(nFiles!=0)iCount++;
}
chain->ls();
return chain;
-}
-//__________________________________________________________________________________
+}
+
+//__________________________________________________________________________________
void SetupPar(char* pararchivename)
{
- //Load par files, create analysis libraries
- //For testing, if par file already decompressed and modified
- //classes then do not decompress.
+ //Load par files, create analysis libraries
+ //For testing, if par file already decompressed and modified
+ //classes then do not decompress.
+
+ TString cdir(Form("%s", gSystem->WorkingDirectory() ));
+ TString parpar(Form("%s.par", pararchivename));
- TString cdir(Form("%s", gSystem->WorkingDirectory() )) ;
- TString parpar(Form("%s.par", pararchivename)) ;
-
if (!gSystem->AccessPathName(pararchivename) ) {
- TString processline = Form(".! tar xvzf %s",parpar.Data()) ;
+ TString processline = Form(".! tar xvzf %s",parpar.Data());
gROOT->ProcessLine(processline.Data());
}
TString ocwd = gSystem->WorkingDirectory();
gSystem->ChangeDirectory(pararchivename);
- // check for BUILD.sh and execute
+ // check for BUILD.sh and execute
if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
printf("*******************************\n");
printf("*** Building PAR archive ***\n");
return -1;
}
}
- // check for SETUP.C and execute
+ // check for SETUP.C and execute
if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
printf("*******************************\n");
printf("*** Setup PAR archive ***\n");
gSystem->ChangeDirectory(ocwd.Data());
printf("Current dir: %s\n", ocwd.Data());
-}
-
+}
\ No newline at end of file