Esempio n. 1
0
void SetupAnalysis(TString mode,
		   TString analysisMode="full",
		   Bool_t useMC = kFALSE,
		   Int_t nEvents=1.0*1e9, 
		   Int_t nEventsSkip=0,
		   TString format="esd")
{
  
  // ILC stuff
  IlcAnalysisManager *mgr = IlcAnalysisManager::GetAnalysisManager();
  if (!mgr) mgr = new IlcAnalysisManager("CAF train");
  
  // Create and configure the alien handler plugin 
  gROOT->LoadMacro("CreateAnalysisPlugin.C"); 
  IlcAnalysisGrid *alienHandler = CreateAnalysisPlugin(analysisMode);   
  if (!alienHandler) return;
  mgr->SetGridHandler(alienHandler);
  
  // input handler for esd or AOD, real or MC data
  InputHandlerSetup(format,useMC);

  // physics selection
  if(!format.CompareTo("esd")){
    gROOT->LoadMacro("$ILC_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
    IlcPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(kFALSE);
    if(useMC) physSelTask->GetPhysicsSelection()->SetAnalyzeMC();   
    IlcPhysicsSelection* physSel = physSelTask->GetPhysicsSelection();
    physSel->AddBackgroundIdentification(new IlcBackgroundSelection());
  }
  
  gROOT->ProcessLine(Form(".include %s/include",gSystem->ExpandPathName("$ILC_ROOT")));
  
  gROOT->LoadMacro("IlcAnalysisTaskEfficiency.cxx+g");
  
  // load and run AddTask macro
  gROOT->LoadMacro("AddTaskEfficiency.C");
  

  IlcAnalysisTaskSE* task1 = AddTaskEfficiency(-1);
  if(!task1){
    Printf("AddTask could not be run.");
  }

  // Run analysis
  mgr->InitAnalysis();
  
  if ((!mode.CompareTo("proof")) ||(!mode.CompareTo("local"))) {
    mgr->StartAnalysis(mode.Data(),nEvents,nEventsSkip);
  }
  else {
    mgr->StartAnalysis(mode.Data());
    
  }
  
}
Esempio n. 2
0
void AnalysisMacroGlob(TString dataset="/alice/sim/LHC10f8f_130844",
		       TString outFName="glovar.root",
		       Int_t  nEvents     = 5000,
		       Int_t  nEventsSkip = 0) 
{
  //  
  TString format = GetFormatFromDataSet(dataset);
  //
  // ALICE stuff
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) mgr = new AliAnalysisManager("Test train");
  //
  Bool_t isMC = dataset.Contains("sim");
  InputHandlerSetup(format,kFALSE,isMC);
  gProof->Load("AliTaskGlobVar.cxx++g");
  //
  /*
  gROOT->LoadMacro("AddTaskGlobVar.C");
  AliTaskGlobVar *task = AddTaskGlobVar(outFName.Data());
  */
  AliTaskGlobVar *task = new AliTaskGlobVar("AliTaskGlobVar");
  // create output container
  AliAnalysisDataContainer *coutput1 = 
    mgr->CreateContainer("clist", TList::Class(),AliAnalysisManager::kOutputContainer,outFName.Data());
  // add our task to the manager
  mgr->AddTask(task);
  //
  // finaly connect input and output
  mgr->ConnectInput(task, 0,  mgr->GetCommonInputContainer());
  mgr->ConnectOutput(task,1,coutput1);
  //
  if (!isMC) {
    AddPhysicsSelection();
    task->SelectCollisionCandidates( AliVEvent::kUserDefined );
    task->SetUseMC(kFALSE);
  }
  else task->SetUseMC(kTRUE);
  //  else task->SelectCollisionCandidates( AliVEvent::kMB);
  //
  // Run analysis
  mgr->InitAnalysis();
  // process dataset  
  mgr->StartAnalysis("proof", dataset.Data(), nEvents, nEventsSkip); 
  //
  TString evstCmd = "if [ -e event_stat.root ]; then \nmv event_stat.root evstat_"; 
  evstCmd += outFName;  evstCmd += " \nfi";
  gSystem->Exec( evstCmd.Data() );
  
}
Esempio n. 3
0
//====================================================================
void runGloAlgTask
(
 TString data="wn.xml",
 //TString data="algColl.txt",
 Int_t nEvents=-1,
 UInt_t trigSel = AliVEvent::kAny
 )
{
  //
  if (!gGrid) {
    TGrid::Connect("alien://");
    if (!gGrid) {printf("Cannot connect\n");exit(1);}
  }
  //
  gROOT->ProcessLine(Form(".include $ALICE_ROOT/include $ALICE_PHYSICS/include ./ %s",gSystem->pwd()));
  gSystem->SetIncludePath(Form("-I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_PHYSICS/include -I./ -I%s",gSystem->pwd()));
  printf("Include line: %s",gSystem->GetIncludePath());
  //
  if (gClassTable->GetID("AliAlgSteer")<0) {
    gSystem->Load("libAlg.so");
  }
  //
  gROOT->ProcessLine(".L AliGloAlgTask.cxx++g");
  //
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) mgr = new AliAnalysisManager("mgr");
  //
  TChain *chain = data.EndsWith(".xml") ? CreateChainXML(data) : CreateChainTXT(data);
  TString formatFr = "AliESDfriends.root";
  if (barrelFlag) formatFr = "AliESDfriends_Barrel.root";
  printf("Deduced friend name : %s\n",formatFr.Data());
  //
  InputHandlerSetup(formatFr.Data());
  //
  //================================================================================
  //  printf("Requesting physics selection in %s mode\n",useMC ? "MC":"Data");
  //  gROOT->LoadMacro("$ALICE_ROOT/../src/ANALYSIS/macros/AddTaskPhysicsSelection.C");
  //  AliPhysicsSelectionTask* physicsSelectionTask = AddTaskPhysicsSelection(useMC);
  //==================================================================================
  //
  AliGloAlgTask *algTask = new AliGloAlgTask("alg");
  //-------------------------------------------
  algTask->SetTriggerSelection(trigSel);
  algTask->SetConfMacroName("alignConf.C");
  //  algTask->SetConfMacroName("pedeF/alignConf.C");
  algTask->SetIniParFileName("millepede.res");
  //  algTask->SetApplyMPSolAlignment(kTRUE);
  //-------------------------------------------
  AliAnalysisDataContainer *coutput1 = 
    mgr->CreateContainer("clist", TList::Class(),AliAnalysisManager::kOutputContainer,"mpStatOut.root");
  mgr->AddTask(algTask);
  //
  mgr->ConnectInput(algTask, 0,  mgr->GetCommonInputContainer());
  mgr->ConnectOutput(algTask,1,coutput1);
  //
  if (!mgr->InitAnalysis()) return;
  mgr->PrintStatus();
  // Start analysis in grid.
  if (nEvents<0) nEvents = chain->GetEntries();
  mgr->StartAnalysis("localfile",chain,nEvents);
  //
}