ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

//
// AliMuonAccEffSubmitter : a class to help submit Acc x Eff simulations
// anchored to real runs for J/psi, upsilon, single muons, etc...
//
// This class is dealing with 3 different directories :
//
// - template directory ($ALICE_ROOT/PWG/muondep/AccEffTemplates) containing the
//   basic template files to be used for a simuation. A template can contain
//   some variables that will be replaced during during the copy from template
//   to local dir
//
// - local directory, where the files from the template directory, are copied
//   once the class has been configured properly (i.e. using the various Set, Use,
//   etc... methods). Some other files (e.g. JDL ones) are generated from
//   scratch and also copied into this directory.
//   At this point one could(should) check the files, as they are the ones
//   to be copied to the remote directory for the production
//
// - remote directory, the alien directory where the files will be copied
//   (from the local directory) before the actual submission
//
// ==========================================================
//
// Basic usage
//
// AliMuonAccEffSubmitter a; // (1)
// a.UseOCDBSnapshots(kFALSE);
// a.SetRemoteDir("/alice/cern.ch/user/l/laphecet/Analysis/LHC13d/simjpsi/pp503z0");
// a.ShouldOverwriteFiles(true);
// a.MakeNofEventsPropToTriggerCount("CMUL7-B-NOPF-MUON");
// a.SetVar("VAR_GENLIB_PARNAME","\"pp 5.03\"");
// a.SetRunList(195682);
// a.Print();
// a.Run("test"); // will do everything but the submit
// a.Submit(false); // actual submission
//
// (1) note that for this to work in the Root prompt you need to load (for instance
// in your rootlogon.C) all the chain of libraries up to libPWGmuondep. As
// the time of this writing (March 2014), this means :
//
// gSystem->Load("libVMC");
// gSystem->Load("libTree");
// gSystem->Load("libProofPlayer");
// gSystem->Load("libPhysics");
// gSystem->Load("libMatrix");
// gSystem->Load("libMinuit");
// gSystem->Load("libXMLParser");
// gSystem->Load("libGui");
// gSystem->Load("libSTEERBase");
// gSystem->Load("libESD");
// gSystem->Load("libAOD");
// gSystem->Load("libANALYSIS");
// gSystem->Load("libRAWDatabase");
// gSystem->Load("libCDB");
// gSystem->Load("libSTEER");
// gSystem->Load("libANALYSISalice");
// gSystem->Load("libCORRFW");
// gSystem->Load("libPWGmuon");
// gSystem->Load("libMUONcore");
// gSystem->Load("libMUONmapping");
// gSystem->Load("libMUONcalib");
// gSystem->Load("libMUONgeometry");
// gSystem->Load("libMUONtrigger");
// gSystem->Load("libRAWDatabase");
// gSystem->Load("libMUONraw");
// gSystem->Load("libMUONbase");
// gSystem->Load("libMUONshuttle");
// gSystem->Load("libMUONrec");
// gSystem->Load("libPWGmuondep");
//
// author: Laurent Aphecetche (Subatech)
//

#include "AliMuonAccEffSubmitter.h"

#include "AliAnalysisTriggerScalers.h"
#include "AliLog.h"
#include "TFile.h"
#include "TGrid.h"
#include "TGridResult.h"
#include "TMap.h"
#include "TMath.h"
#include "TObjString.h"
#include "TROOT.h"
#include "TString.h"
#include "TSystem.h"
#include <vector>
#include <fstream>
using std::ifstream;
namespace
{
  Int_t splitLevel=10;
}

ClassImp(AliMuonAccEffSubmitter)

//______________________________________________________________________________
AliMuonAccEffSubmitter::AliMuonAccEffSubmitter(const char* generator, Bool_t localOnly,
                                               const char* generatorVersion)
: AliMuonGridSubmitter(AliMuonGridSubmitter::kAccEff,localOnly),
fRatio(-1.0),
fFixedNofEvents(10000),
fMaxEventsPerChunk(5000),
fOCDBPath(""),
fSplitMaxInputFileNumber(20),
fCompactMode(1),
fExternalConfig(""),
fUseOCDBSnapshots(kFALSE),
fSnapshotDir(""),
fUseAODMerging(kFALSE)
{
  // ctor
  //
  // if generator contains "pythia8" and generatorVersion is given then
  // the pythiaversion must represent the integer part XXX of the
  // include directory $ALICE_ROOT/PYTHI8/pythiaXXX/include where the file
  // Analysis.h is to be found.
  //
  // if generator contains "pythia6" then generatorVersion should be the
  // X.YY part of libpythia6.X.YY.so
  //
  
  AddIncludePath("-I$ALICE_ROOT/STEER/STEER -I$ALICE_ROOT/PYTHIA6 -I$ALICE_ROOT/LHAPDF -I$ALICE_ROOT/PWG/muon -I$ALICE_ROOT/PWG/muondep -I$ALICE_ROOT/MUON -I$ALICE_ROOT/include -I$ALICE_ROOT/EVGEN -I$ALICE_ROOT/FASTSIM");
  
  TString ocdbPath("raw://");
  
  if (localOnly) {
    ocdbPath = "local://$ALICE_ROOT/OCDB";
  }
  
  SetOCDBPath(ocdbPath.Data());
  
  SetLocalDirectory("Snapshot",LocalDir());
  
  SetVar("VAR_OCDB_PATH",Form("\"%s\"",ocdbPath.Data()));

  SetVar("VAR_GENPARAM_INCLUDE","AliGenMUONlib.h");
  SetVar("VAR_GENPARAM_NPART","1");
  SetVar("VAR_GENPARAM_GENLIB_TYPE","AliGenMUONlib::kJpsi");
  SetVar("VAR_GENPARAM_GENLIB_PARNAME","\"pPb 5.03\"");

  SetVar("VAR_GENCORRHF_QUARK","5");
  SetVar("VAR_GENCORRHF_ENERGY","5");

  // some default values for J/psi
  SetVar("VAR_GENPARAMCUSTOM_PDGPARTICLECODE","443");

  // default values below are from J/psi p+Pb (from muon_calo pass)
  SetVar("VAR_GENPARAMCUSTOM_Y_P0","4.08E5");
  SetVar("VAR_GENPARAMCUSTOM_Y_P1","7.1E4");
  
  SetVar("VAR_GENPARAMCUSTOM_PT_P0","1.13E9");
  SetVar("VAR_GENPARAMCUSTOM_PT_P1","18.05");
  SetVar("VAR_GENPARAMCUSTOM_PT_P2","2.05");
  SetVar("VAR_GENPARAMCUSTOM_PT_P3","3.34");

  // some default values for single muons
  SetVar("VAR_GENPARAMCUSTOMSINGLE_PTMIN","0.35");
  
  SetVar("VAR_GENPARAMCUSTOMSINGLE_PT_P0","4.05962");
  SetVar("VAR_GENPARAMCUSTOMSINGLE_PT_P1","1.0");
  SetVar("VAR_GENPARAMCUSTOMSINGLE_PT_P2","2.46187");
  SetVar("VAR_GENPARAMCUSTOMSINGLE_PT_P3","2.08644");

  SetVar("VAR_GENPARAMCUSTOMSINGLE_Y_P0","0.729545");
  SetVar("VAR_GENPARAMCUSTOMSINGLE_Y_P1","0.53837");
  SetVar("VAR_GENPARAMCUSTOMSINGLE_Y_P2","0.141776");
  SetVar("VAR_GENPARAMCUSTOMSINGLE_Y_P3","0.0130173");

  // some default values for GenBox
  
  SetVar("VAR_GENMUBOX_PTMIN","0");
  SetVar("VAR_GENMUBOX_PTMAX","20");
  SetVar("VAR_GENMUBOX_YMIN","-4.1");
  SetVar("VAR_GENMUBOX_YMAX","-2.4");

  SetVar("VAR_PYTHIA8_CMS_ENERGY","8000");
  SetVar("VAR_PYTHIA6_CMS_ENERGY","8000");
  
  SetVar("VAR_PURELY_LOCAL",Form("%d",localOnly));
  
  SetVar("VAR_SIM_ALIGNDATA","\"alien://folder=/alice/simulation/2008/v4-15-Release/Ideal\"");
  
  SetVar("VAR_REC_ALIGNDATA","\"alien://folder=/alice/simulation/2008/v4-15-Release/Residual\"");
  
  SetVar("VAR_USE_ITS_RECO","0");
  
  UseOCDBSnapshots(fUseOCDBSnapshots);

  gSystem->Load("libEVGEN");

  SetVar("VAR_TRIGGER_CONFIGURATION","");
  
  SetVar("VAR_PYTHIA8_INCLUDES","");
  SetVar("VAR_PYTHIA8_SETENV","");

  SetVar("VAR_PYTHIA6_INCLUDES","");
  SetVar("VAR_PYTHIA6_SETENV","");
  
  SetVar("VAR_LHAPDF","liblhapdf");
  SetVar("VAR_MUONMCMODE","1");
  
  if ( TString(generator).Contains("pythia8",TString::kIgnoreCase) )
  {
    fMaxEventsPerChunk =  500; // 5000 is not reasonable with Pythia8 (and ITS+MUON...)
    
    fCompactMode = 2; // keep AOD as for the time being the filtering driven from AODtrain.C cannot
    // add SPD tracklets to muon AODs.
    
    SetVar("VAR_USE_ITS_RECO","1");

    if (gSystem->AccessPathName(gSystem->ExpandPathName(Form("$ALICE_ROOT/PYTHIA8/pythia%s",generatorVersion))))
    {
      AliError(Form("Directory -I$ALICE_ROOT/PYTHIA8/pythia%s/include not found",generatorVersion));
      Invalidate();
      return;
    }
    AddIncludePath(Form("-I$ALICE_ROOT/PYTHIA8 -I$ALICE_ROOT/PYTHIA8/pythia%s/include",generatorVersion));
//    SetVar("VAR_PYTHIA8_VERSION",Form("\"%d\"",pythia8version));
    
    SetVar("VAR_PYTHIA8_INCLUDES",Form("gSystem->AddIncludePath(\"-I$ALICE_ROOT/PYTHIA6 -I$ALICE_ROOT/STEER/STEER -I$ALICE_ROOT/LHAPDF -I$ALICE_ROOT/PYTHIA8 -I$ALICE_ROOT/PYTHIA8/pythia%s/include\");\n",generatorVersion));
  
    TString p8env;
    
    p8env += Form("  gSystem->Setenv(\"PYTHIA8DATA\", gSystem->ExpandPathName(\"$ALICE_ROOT/PYTHIA8/pythia%s/xmldoc\"));\n",generatorVersion);
    
    p8env += "  gSystem->Setenv(\"LHAPDF\",gSystem->ExpandPathName(\"$ALICE_ROOT/LHAPDF\"));\n";
    
    p8env +=  "  gSystem->Setenv(\"LHAPATH\",gSystem->ExpandPathName(\"$ALICE_ROOT/LHAPDF/PDFsets\"));\n";
    
    SetVar("VAR_PYTHIA8_SETENV",p8env.Data());
    
    gSystem->Load("libFASTSIM");
    gSystem->Load("liblhapdf");      // Parton density functions
    gSystem->Load("libEGPythia6");   // TGenerator interface
//    gSystem->Load("libpythia6");     // Pythia 6.2
    gSystem->Load("libAliPythia6");  // ALICE specific implementations
    gSystem->Load("libpythia8");
    gSystem->Load("libAliPythia8");
    
    SetVar("VAR_PYTHIA8_SETUP_STRINGS","\"\"");
    
    SetVar("VAR_TRIGGER_CONFIGURATION","p-p");
  }
  
  if ( TString(generator).Contains("pythia6",TString::kIgnoreCase) )
  {
    fMaxEventsPerChunk =  500; // 5000 is not reasonable with Pythia6 (and ITS+MUON...)

    fCompactMode = 2; // keep AOD as for the time being the filtering driven from AODtrain.C cannot
    // add SPD tracklets to muon AODs.

    gSystem->Load("libFASTSIM");
    gSystem->Load("liblhapdf");      // Parton density functions
    gSystem->Load("libEGPythia6");   // TGenerator interface
    gSystem->Load(Form("libpythia6.%s",generatorVersion));
    gSystem->Load("libAliPythia6");
    
    SetVar("VAR_PYTHIA6_INCLUDES","gSystem->AddIncludePath(\"-I$ALICE_ROOT/PYTHIA6 -I$ALICE_ROOT/STEER/STEER -I$ALICE_ROOT/STEER/STEERBase -I$ALICE_ROOT/LHAPDF -I$ALICE_ROOT/FASTSIM\");");
    
    TString p6env;
    
    p6env += Form("gSystem->Load(\"libpythia6.%s\");",generatorVersion);
    
    SetVar("VAR_PYTHIA6_SETENV",p6env.Data());
    
    SetVar("VAR_USE_ITS_RECO","1");
    
    SetVar("VAR_TRIGGER_CONFIGURATION","p-p");
  }

  SetGenerator(generator);
  
  if (localOnly)
  {
    MakeNofEventsFixed(10);
  }
  else
  {
    MakeNofEventsPropToTriggerCount();
  }
  
  AddToTemplateFileList("CheckESD.C");
  AddToTemplateFileList("CheckAOD.C");
  AddToTemplateFileList("AODtrain.C");
  AddToTemplateFileList("validation.sh");
  
  AddToTemplateFileList("Config.C");
  AddToTemplateFileList("rec.C");
  AddToTemplateFileList("sim.C");
  AddToTemplateFileList("simrun.C");
  AddToTemplateFileList(RunJDLName().Data());
  
  UseExternalConfig(fExternalConfig);
}

//______________________________________________________________________________
AliMuonAccEffSubmitter::~AliMuonAccEffSubmitter()
{
  // dtor
}

///______________________________________________________________________________
Bool_t AliMuonAccEffSubmitter::Generate(const char* jdlname) const
{
  if ( TString(jdlname).Contains("merge",TString::kIgnoreCase) )
  {
    return GenerateMergeJDL(jdlname);
  }
  else
  {
    return GenerateRunJDL(jdlname);
  }
}

///______________________________________________________________________________
Bool_t AliMuonAccEffSubmitter::GenerateMergeJDL(const char* name) const
{
  /// Create the JDL for merging jobs
  /// FIXME: not checked !
  
  AliDebug(1,"");

  std::ostream* os = CreateJDLFile(name);
  
  if (!os)
  {
    return kFALSE;
  }
  
  Bool_t final = TString(name).Contains("merge",TString::kIgnoreCase);

  (*os) << "# Generated merging jdl (production mode)" << std::endl
  << "# $1 = run number" << std::endl
  << "# $2 = merging stage" << std::endl
  << "# Stage_<n>.xml made via: find <OutputDir> *Stage<n-1>/*root_archive.zip" << std::endl;

  OutputToJDL(*os,"Packages",
         GetMapValue("AliRoot"),
         GetMapValue("Geant3"),
         GetMapValue("Root"),
         GetMapValue("API"));
  
  OutputToJDL(*os,"Executable","AOD_merge.sh");
  
  OutputToJDL(*os,"Price","1");

  if ( final )
  {
    OutputToJDL(*os,"Jobtag","comment: AliMuonAccEffSubmitter final merging");
  }
  else
  {
    OutputToJDL(*os,"Jobtag","comment: AliMuonAccEffSubmitter merging stage $2");
  }
  
  OutputToJDL(*os,"Workdirectorysize","5000MB");
  
  OutputToJDL(*os,"Validationcommand",Form("%s/validation_merge.sh",RemoteDir().Data()));
  
  OutputToJDL(*os,"TTL","14400");
  
  OutputToJDL(*os,"OutputArchive",
    "log_archive.zip:stderr,stdout@disk=1",
    "root_archive.zip:AliAOD.root,AliAOD.Muons.root,AnalysisResults.root@disk=3"
         );
  
  OutputToJDL(*os,"Arguments",(final ? "2":"1")); // for AOD_merge.sh, 1 means intermediate merging stage, 2 means final merging
  
  if ( !final )
  {
    OutputToJDL(*os,"InputFile",Form("LF:%s/AODtrain.C",RemoteDir().Data()));
    OutputToJDL(*os,"OutputDir",Form("%s/$1/Stage_$2/#alien_counter_03i#",RemoteDir().Data()));
    OutputToJDL(*os,"InputDataCollection",Form("%s/$1/Stage_$2.xml,nodownload",RemoteDir().Data()));
    OutputToJDL(*os,"split","se");
    OutputToJDL(*os,"SplitMaxInputFileNumber",GetSplitMaxInputFileNumber());
    OutputToJDL(*os,"InputDataListFormat","xml-single");
    OutputToJDL(*os,"InputDataList","wn.xml");
  }
  else
  {
    OutputToJDL(*os,"InputFile",Form("LF:%s/AODtrain.C",RemoteDir().Data()),
           Form("LF:%s/$1/wn.xml",RemoteDir().Data()));
    OutputToJDL(*os,"OutputDir",Form("%s/$1",RemoteDir().Data()));
  }
  
  return kTRUE;
}

//______________________________________________________________________________
Bool_t AliMuonAccEffSubmitter::GenerateRunJDL(const char* name) const
{
  /// Generate (locally) the JDL to perform the simulation+reco+aod filtering
  /// (to be then copied to the grid and finally submitted)
  
  AliDebug(1,"");

  std::ostream* os = CreateJDLFile(name);
  
  if (!os)
  {
    return kFALSE;
  }
  
  OutputToJDL(*os,"Packages",
              GetMapValue("AliRoot"),
              GetMapValue("Geant3"),
              GetMapValue("Root"),
              GetMapValue("API"));
              
  OutputToJDL(*os,"Jobtag","comment: AliMuonAccEffSubmitter RUN $1");

  OutputToJDL(*os,"split","production:1-$2");

  OutputToJDL(*os,"Price","1");
  
  OutputToJDL(*os,"OutputDir",Form("%s/$1/#alien_counter_03i#",RemoteDir().Data()));

  OutputToJDL(*os,"Executable","/alice/bin/aliroot_new");
  
  TObjArray files;
  files.SetOwner(kTRUE);
  TIter next(LocalFileList());
  TObjString* file;
  
  while ( ( file = static_cast<TObjString*>(next())) )
  {
    if ( !file->String().Contains(".jdl",TString::kIgnoreCase) ||
         !file->String().Contains("OCDB_") )
    {
      files.Add(new TObjString(Form("LF:%s/%s",RemoteDir().Data(),file->String().Data())));
    }
  }
  
  if ( fUseOCDBSnapshots )
  {
    files.Add(new TObjString(Form("LF:%s/OCDB/$1/OCDB_sim.root",RemoteDir().Data())));
    files.Add(new TObjString(Form("LF:%s/OCDB/$1/OCDB_rec.root",RemoteDir().Data())));
  }
  
  OutputToJDL(*os,"InputFile",files);
  
  if ( CompactMode() == 0 )
  {
    // store everything
    OutputToJDL(*os,"OutputArchive",  "log_archive.zip:stderr,stdout,aod.log,checkaod.log,checkesd.log,rec.log,sim.log@disk=1",
           "root_archive.zip:galice*.root,Kinematics*.root,TrackRefs*.root,AliESDs.root,AliAOD.root,AliAOD.Muons.root,Merged.QA.Data.root,Run*.root@disk=2");
  }
  else if ( CompactMode() == 1 )
  {
    // keep only muon AODs and QA
    OutputToJDL(*os,"OutputArchive",  "log_archive.zip:stderr,stdout,*.log@disk=1",
           "root_archive.zip:galice*.root,AliAOD.Muons.root,Merged.QA.Data.root@disk=2");
  }
  else if ( CompactMode() == 2 )
  {
    // keep only AODs and QA
    OutputToJDL(*os,"OutputArchive",  "log_archive.zip:stderr,stdout,aod.log,checkaod.log,checkesd.log,rec.log,sim.log@disk=1",
                "root_archive.zip:galice*.root,AliAOD.root,Merged.QA.Data.root@disk=2");
  }
  else
  {
    AliError(Form("Unknown CompactMode %d",CompactMode()));
    delete os;
    return kFALSE;
  }
  
  OutputToJDL(*os,"splitarguments","simrun.C --run $1 --chunk #alien_counter# --event $3");
  
  OutputToJDL(*os,"Workdirectorysize","5000MB");
  
  OutputToJDL(*os,"JDLVariables","Packages","OutputDir");

  OutputToJDL(*os,"Validationcommand",Form("%s/validation.sh",RemoteDir().Data()));

  if ( GetVar("VAR_GENERATOR").Contains("pythia",TString::kIgnoreCase) )
  {
    OutputToJDL(*os,"TTL","36000");
  }
  else
  {
    OutputToJDL(*os,"TTL","14400");
  }
  
  return kTRUE;
}

//______________________________________________________________________________
Bool_t AliMuonAccEffSubmitter::MakeOCDBSnapshots()
{
  /// Run sim.C and rec.C in a special mode to generate OCDB snapshots
  /// Can only be done after the templates have been copied locally
  
  if (!IsValid()) return kFALSE;

  if (!fUseOCDBSnapshots) return kTRUE;
  
  if (!NofRuns()) return kFALSE;
  
  AliDebug(1,"");

  Bool_t ok(kTRUE);
  
  const std::vector<int>& runs = RunList();
  
  for ( std::vector<int>::size_type i = 0; i < runs.size(); ++i )
  {
    Int_t runNumber = runs[i];

    TString ocdbSim(Form("%s/OCDB/%d/OCDB_sim.root",SnapshotDir().Data(),runNumber));
    TString ocdbRec(Form("%s/OCDB/%d/OCDB_rec.root",SnapshotDir().Data(),runNumber));

    if ( !gSystem->AccessPathName(ocdbSim.Data()) &&
         !gSystem->AccessPathName(ocdbRec.Data()) )
    {
      AliWarning(Form("Local OCDB snapshots already there for run %d. Will not redo them. If you want to force them, delete them by hand !",runNumber));
      continue;
    }
    else
    {
      gSystem->Exec(Form("aliroot -b -q -x simrun.C --run %d --snapshot",runNumber));
    
      if ( gSystem->AccessPathName(ocdbSim.Data()) )
      {
        AliError(Form("Could not create OCDB snapshot for simulation"));
        ok = kFALSE;
      }

      if ( gSystem->AccessPathName(ocdbRec.Data()) )
      {
        AliError(Form("Could not create OCDB snapshot for reconstruction"));
        ok = kFALSE;
      }
    }
    
    AddToLocalFileList(ocdbSim);
    AddToLocalFileList(ocdbRec);
  }
  
  return ok;
}

//______________________________________________________________________________
Bool_t AliMuonAccEffSubmitter::Merge(Int_t stage, Bool_t dryRun)
{
  /// Submit multiple merging jobs with the format "submit AOD_merge(_final).jdl run# (stage#)".
  /// Also produce the xml collection before sending jobs
  /// Initial AODs will be taken from fRemoteDir/[RUNNUMBER] while the merged
  /// ones will be put into fMergedDir/AODs/[RUNNUMBER]
  ///
  /// Example:
  /// - inDir = "/alice/sim/2012/LHC12a10_bis" (where to find the data to merge)
  ///         = 0x0 --> inDir = homeDir/outDir/resDir
  /// - outDir = "Sim/LHC11h/embedding/AODs" (where to store merged results)
  /// - runList.txt must contains the list of run number
  /// - stage=0 --> final merging / stage>0 --> intermediate merging i
  ///
  
  if (!RemoteDirectoryExists(MergedDir().Data())) {
    AliError(Form("directory %s does not exist", MergedDir().Data()));
    return kFALSE;
  }
  
  gGrid->Cd(MergedDir().Data());
  
  TString jdl = MergeJDLName(stage==0);
  
  if (!RemoteFileExists(jdl.Data()))
  {
    AliError(Form("file %s does not exist in %s\n", jdl.Data(), RemoteDir().Data()));
    return kFALSE;
  }
  
  const std::vector<int>& runs = RunList();
  
  if (runs.empty())
  {
    AliError("No run to work with");
    return 0;
  }

  TString currRun;
  TString reply = "";
  gSystem->Exec("rm -f __failed__");
  Bool_t failedRun = kFALSE;
  
  for ( std::vector<int>::size_type i = 0; i < runs.size(); ++i )
  {
    Int_t run = runs[i];
    AliInfo(Form("\n --- processing run %d ---\n", run));
    
    TString runDir = Form("%s/%d", MergedDir().Data(), run);
    
    if (!RemoteDirectoryExists(runDir.Data()))
    {
      AliInfo(Form(" - creating output directory %s\n", runDir.Data()));
      gSystem->Exec(Form("alien_mkdir -p %s", runDir.Data()));
    }
    
    if (RemoteFileExists(Form("%s/root_archive.zip", runDir.Data())))
    {
      AliWarning(" ! final merging already done");
      continue;
    }
    
    Int_t lastStage = GetLastStage(runDir.Data());
    
    if (stage > 0 && stage != lastStage+1)
    {
      AliError(Form(" ! lastest merging stage = %d. Next must be stage %d or final stage\n", lastStage, lastStage+1));
      continue;
    }
    
    TString wn = (stage > 0) ? Form("Stage_%d.xml", stage) : "wn.xml";
    TString find = (lastStage == 0) ?
    Form("alien_find -x %s %s/%d *root_archive.zip", wn.Data(), RemoteDir().Data(), run) :
    Form("alien_find -x %s %s/%d/Stage_%d *root_archive.zip", wn.Data(), RemoteDir().Data(), run, lastStage);
    gSystem->Exec(Form("%s 1> %s 2>/dev/null", find.Data(), wn.Data()));
    gSystem->Exec(Form("grep -c /event %s > __nfiles__", wn.Data()));
    ifstream f2("__nfiles__");
    TString nFiles;
    nFiles.ReadLine(f2,kTRUE);
    f2.close();
    gSystem->Exec("rm -f __nfiles__");
    printf(" - number of files to merge = %d\n", nFiles.Atoi());
    if (nFiles.Atoi() == 0) {
      printf(" ! collection of files to merge is empty\n");
      gSystem->Exec(Form("rm -f %s", wn.Data()));
      continue;
    } else if (stage > 0 && nFiles.Atoi() <= splitLevel && !reply.BeginsWith("y")) {
      if (!reply.BeginsWith("n")) {
        printf(" ! number of files to merge <= split level (%d). Continue? [Y/n] ", splitLevel);
        fflush(stdout);
        reply.Gets(stdin,kTRUE);
        reply.ToLower();
      }
      if (reply.BeginsWith("n")) {
        gSystem->Exec(Form("rm -f %s", wn.Data()));
        continue;
      } else reply = "y";
    }
    
    if (!dryRun)
    {
      TString dirwn = Form("%s/%s", runDir.Data(), wn.Data());
      if (RemoteFileExists(dirwn.Data())) gGrid->Rm(dirwn.Data());
      gSystem->Exec(Form("alien_cp file:%s alien://%s", wn.Data(), dirwn.Data()));
      gSystem->Exec(Form("rm -f %s", wn.Data()));
    }
    
    TString query;
    if (stage > 0) query = Form("submit %s %d %d", jdl.Data(), run, stage);
    else query = Form("submit %s %d", jdl.Data(), run);
    printf(" - %s ...", query.Data());
    fflush(stdout);
    
    if (dryRun)
    {
      AliInfo(" dry run");
      continue;
    }
    
    Bool_t done = kFALSE;
    TGridResult *res = gGrid->Command(query);
    if (res)
    {
      TString cjobId1 = res->GetKey(0,"jobId");
      if (!cjobId1.IsDec())
      {
        AliError(" FAILED");
        gGrid->Stdout();
        gGrid->Stderr();
      }
      else
      {
        AliInfo(Form(" DONE\n   --> the job Id is: %s \n", cjobId1.Data()));
        done = kTRUE;
      }
      delete res;
    }
    else
    {
      AliError(" FAILED");
    }
    
    if (!done)
    {
      gSystem->Exec(Form("echo %d >> __failed__", run));
      failedRun = kTRUE;
    }
    
  }
  
  if (failedRun)
  {
    AliInfo("\n--------------------\n");
    AliInfo("list of failed runs:\n");
    gSystem->Exec("cat __failed__");
    gSystem->Exec("rm -f __failed__");
    return kFALSE;
  }
  
  return kTRUE;
}

//______________________________________________________________________________
void AliMuonAccEffSubmitter::Print(Option_t* opt) const
{
  /// Printout
  
  AliMuonGridSubmitter::Print(opt);

  if ( fRatio > 0 )
  {
    std::cout << std::endl << Form("-- For each run, will generate %5.2f times the number of real events for trigger %s",
                      fRatio,ReferenceTrigger().Data()) << std::endl;
  }
  else
  {
    std::cout << std::endl <<  Form("-- For each run, will generate %10d events",fFixedNofEvents) << std::endl;
  }
  
  std::cout << "-- MaxEventsPerChunk = " << fMaxEventsPerChunk << std::endl;
  
  std::cout << "-- Will" << (fUseOCDBSnapshots ? "" : " NOT") << " use OCDB snaphosts" << std::endl;
}

//______________________________________________________________________________
Bool_t AliMuonAccEffSubmitter::Run(const char* mode)
{
  /// mode can be one of (case insensitive)
  ///
  /// LOCAL : copy the template files from the template directory to the local one
  /// UPLOAD : copy the local files to the grid (requires LOCAL)
  /// OCDB : make ocdb snapshots (requires LOCAL)
  /// SUBMIT : submit the jobs (requires LOCAL + UPLOAD)
  /// FULL : all of the above (requires all of the above)
  ///
  /// TEST : as SUBMIT, but in dry mode (does not actually submit the jobs)
  ///
  /// LOCALTEST : completely local test (including execution)
  
  if (!IsValid()) return kFALSE;
  
  TString smode(mode);
  smode.ToUpper();
  
  if ( smode == "FULL")
  {
    return  ( Run("LOCAL") && Run("OCDB") && Run("UPLOAD") && Run("SUBMIT") );
  }
  
  if ( smode == "LOCAL")
  {
    return CopyTemplateFilesToLocal();
  }
  
  if ( smode == "UPLOAD" )
  {
    return (CopyLocalFilesToRemote());
  }
  
  if ( smode == "OCDB" )
  {
    Bool_t ok = Run("LOCAL");
    if (ok)
    {
      ok = MakeOCDBSnapshots();
    }
    return ok;
  }
  
  if ( smode == "TEST" )
  {
    Bool_t ok = Run("LOCAL") && Run("OCDB") && Run("UPLOAD");
    if ( ok )
    {
      ok = (Submit(kTRUE)>0);
    }
    return ok;
  }
  
  if ( smode == "FULL" )
  {
    Bool_t ok = Run("LOCAL")  && Run("OCDB") && Run("UPLOAD");
    if ( ok )
    {
      ok = (Submit(kFALSE)>0);
    }
    return ok;
  }

  if( smode == "SUBMIT" )
  {
    return (Submit(kFALSE)>0);
  }
  
  if ( smode == "LOCALTEST" )
  {
    Bool_t ok = Run("LOCAL");
    if ( ok )
    {
      ok = LocalTest();
    }
    return ok;
  }
  
  return kFALSE;
}

//______________________________________________________________________________
Bool_t AliMuonAccEffSubmitter::SetGenerator(const char* generator)
{
  // set the variable to select the generator macro in Config.C
  
  gSystem->Load("libEVGEN");
  
  Invalidate();
  
  TString generatorFile(Form("%s/%s.C",TemplateDir().Data(),generator));
  
  Int_t nofMissingVariables(0);
  
  // first check we indeed have such a macro
  if (!gSystem->AccessPathName(generatorFile.Data()))
  {
    TObjArray* variables = GetVariables(generatorFile.Data());
    
    TIter next(variables);
    TObjString* var;
    
    while ( ( var = static_cast<TObjString*>(next())) )
    {
      if ( !Vars()->GetValue(var->String()) )
      {
        ++nofMissingVariables;
        AliError(Form("file %s expect the variable %s to be defined, but we've not defined it !",generatorFile.Data(),var->String().Data()));
      }
    }
    
    delete variables;
    
    if ( !nofMissingVariables )
    {
      if (CheckCompilation(generatorFile.Data()))
      {
        Validate();
        SetVar("VAR_GENERATOR",Form("%s",generator));        
        AddToTemplateFileList(Form("%s.C",generator));
        return kTRUE;
      }
    }
    else
    {
      return kFALSE;
    }
  }
  else
  {
    AliError(Form("Can not work with the macro %s",generatorFile.Data()));
  }
  return kFALSE;
}

//______________________________________________________________________________
void AliMuonAccEffSubmitter::SetOCDBPath(const char* ocdbPath)
{
  /// Sets the OCDB path to be used
  
  SetMapKeyValue("OCDBPath",ocdbPath);
}


//______________________________________________________________________________
void AliMuonAccEffSubmitter::SetOCDBSnapshotDir(const char* dir)
{
  // change the directory used for snapshot
  
  if (gSystem->AccessPathName(Form("%s/OCDB",dir)))
  {
    AliError(Form("Snapshot top directory (%s) should contain an OCDB subdir with runnumbers in there",dir));
  }
  else
  {
    SetMapKeyValue("OCDBSnapshot",dir);
  }
}

//______________________________________________________________________________
void AliMuonAccEffSubmitter::MakeNofEventsPropToTriggerCount(const char* trigger, Float_t ratio)
{
  SetMapKeyValue("ReferenceTrigger",trigger);
  fRatio = ratio;
}

//______________________________________________________________________________
void AliMuonAccEffSubmitter::MakeNofEventsFixed(Int_t nevents)
{
  fFixedNofEvents = nevents;
  fRatio=0.0;
  SetMapKeyValue("ReferenceTrigger","");
}

//______________________________________________________________________________
Int_t AliMuonAccEffSubmitter::LocalTest()
{
  /// Generate a local macro (simrun.sh) to execute locally a full scale test
  /// Can only be used with a fixed number of events (and runnumber is fixed to zero)
  
  if ( fRatio > 0 )
  {
    AliError("Can only work in local test with a fixed number of events");
    return 0;
  }
  
  if ( fFixedNofEvents <= 0 )
  {
    AliError("Please fix the number of input events using MakeNofEventsFixed()");
    return 0;
  }
  
  const std::vector<int>& runs = RunList();

  if ( runs.empty() )
  {
    AliError("No run to work with");
    return 0;
  }
  
  std::cout << "Generating script to execute : ./simrun.sh" << std::endl;
  
  std::ofstream out("simrun.sh");
  
  out << "#!/bin/bash" << std::endl;
//  root.exe -b -q simrun.C  --run <x> --chunk <y> --event <n>
  out << "root.exe -b -q simrun.C --run "<< runs[0] <<" --event " << fFixedNofEvents << std::endl;

  out.close();

  gSystem->Exec("chmod +x simrun.sh");

  std::cout << "Cleaning up left-over files from previous simulation/reconstructions" << std::endl;
  
  gSystem->Exec("rm -rf TrackRefs.root *.SDigits*.root Kinematics.root *.Hits.root geometry.root gphysi.dat Run*.tag.root HLT*.root *.ps *.Digits.root *.RecPoints.root galice.root *QA*.root Trigger.root *.log AliESD* AliAOD* *.d *.so *.stat");

  std::cout << "Executing the script : ./simrun.sh" << std::endl;


  gSystem->Exec("./simrun.sh");
  
  return 1;
}

namespace  {

  void OutputRunList(const char* filename, const std::vector<int>& runlist)
  {
    /// output a runlist to ASCII file
    
    std::ofstream out(filename);

    for ( std::vector<int>::size_type j = 0; j < runlist.size(); ++j )
    {
      out << runlist[j] << std::endl;
    }
  }
}

//______________________________________________________________________________
Int_t AliMuonAccEffSubmitter::SplitRunList(const char* inputList, int maxJobs)
{
  /// In order to be able to submit, split a given runlist into chunks that will
  /// fit within maxJobs (1500 for a typical user)

  std::vector<int> runs;
  
  AliAnalysisTriggerScalers tmp(inputList);
  runs = tmp.GetRunList();
  
  AliAnalysisTriggerScalers* ts(0x0);
  std::vector<int> currentRunList;
  
  int nJobs(0);
  int nTotalJobs(0);
  int nEvts(0);
  int nFiles(0);
  
  for (std::vector<int>::size_type i=0; i < runs.size(); ++i)
  {
    Int_t runNumber = runs[i];
  
    Int_t nEvtRun(fFixedNofEvents);
    
    if ( fRatio > 0 )
    {
      if (!ts)
      {
        AliInfo(Form("Creating AliAnalysisTriggerScalers from OCDB=%s",OCDBPath().Data()));
        ts = new AliAnalysisTriggerScalers(runs,OCDBPath().Data());
      }
      
      AliAnalysisTriggerScalerItem* trigger = ts->GetTriggerScaler(runNumber, "L2A", ReferenceTrigger().Data());
      
      if (!trigger)
      {
        AliError(Form("Could not get trigger %s for run %09d",ReferenceTrigger().Data(),runNumber));
        continue;
      }
      nEvtRun = TMath::Nint(fRatio * trigger->Value());
    }
    
    Int_t nChunk = 1;
    
    while (nEvtRun/nChunk+0.5 > MaxEventsPerChunk())
    {
      ++nChunk;
    }
    
    Int_t nEvtChunk = TMath::Nint(nEvtRun/nChunk + 0.5);
    
    nJobs += nChunk;
    
    nTotalJobs += nChunk;
    
    nEvts += nChunk*nEvtChunk;

    if ( nJobs > maxJobs )
    {
      ++nFiles;
      
      OutputRunList(Form("%s.%d",inputList,nFiles),currentRunList);
      nJobs = 0;
      currentRunList.clear();
    }
    
    
    currentRunList.push_back(runNumber);
    
  }
  
  if ( !currentRunList.empty() )
  {
    ++nFiles;
    OutputRunList(Form("%s.%d",inputList,nFiles),currentRunList);

  }
  
  delete ts;
  
  std::cout << Form("input run list was split into %d files. Total number of jobs %d. Total number of events %d",
                    nFiles,nTotalJobs,nEvts) << std::endl;
  
  return nFiles;
}


//______________________________________________________________________________
Int_t AliMuonAccEffSubmitter::Submit(Bool_t dryRun)
{
  /// Submit multiple production jobs with the format "submit jdl 000run#.xml 000run#".
  ///
  /// Return the number of submitted (master) jobs
  ///
  /// Example:
  /// - outputDir = "/alice/cern.ch/user/p/ppillot/Sim/LHC10h/JPsiPbPb276/AlignRawVtxRaw/ESDs"
  /// - runList must contains the list of run number
  /// - trigger is the (fully qualified) trigger name used to compute the base number of events
  /// - mult is the factor to apply to the number of trigger to get the number of events to be generated
  ///   (# generated events = # triggers x mult
  
  if (!IsValid()) return 0;
  
  AliDebug(1,"");

  gGrid->Cd(RemoteDir());
  
  if (!RemoteFileExists(RunJDLName()))
  {
    AliError(Form("file %s does not exist in %s", RunJDLName().Data(), RemoteDir().Data()));
    return 0;
  }
  
  if ( !NofRuns() )
  {
    AliError("No run list set. Use SetRunList");
    return 0;
  }
  const std::vector<int>& runs = RunList();
  
  if (runs.empty())
  {
    AliError("No run to work with");
    return 0;
  }
  
  //  cout << "total number of selected MB events = " << totEvt << endl;
  //  cout << "required number of generated events = " << nGenEvents << endl;
  //  cout << "number of generated events per MB event = " << ratio << endl;
  //  cout << endl;
  
  std::cout << "run\tchunks\tevents" << std::endl;
  std::cout << "----------------------" << std::endl;
  
  Int_t nJobs(0);
  Int_t nEvts(0);
  
  AliAnalysisTriggerScalers* ts(0x0);
  
  for (std::vector<int>::size_type i=0; i < runs.size(); ++i)
  {
    Int_t runNumber = runs[i];
    
    Int_t nEvtRun(fFixedNofEvents);
    
    if ( fRatio > 0 )
    {
      if (!ts)
      {
        AliInfo(Form("Creating AliAnalysisTriggerScalers from OCDB=%s",OCDBPath().Data()));
        ts = new AliAnalysisTriggerScalers(runs,OCDBPath().Data());
      }
      
      AliAnalysisTriggerScalerItem* trigger = ts->GetTriggerScaler(runNumber, "L2A", ReferenceTrigger().Data());
    
      if (!trigger)
      {
        AliError(Form("Could not get trigger %s for run %09d",ReferenceTrigger().Data(),runNumber));
        continue;
      }
      nEvtRun = TMath::Nint(fRatio * trigger->Value());
    }
    
    Int_t nChunk = 1;
    
    while (nEvtRun/nChunk+0.5 > MaxEventsPerChunk())
    {
      ++nChunk;
    }
    
    Int_t nEvtChunk = TMath::Nint(nEvtRun/nChunk + 0.5);
    
    nJobs += nChunk;
    
    nEvts += nChunk*nEvtChunk;
    
    std::cout << runNumber << "\t" << nChunk << "\t" << nEvtChunk << std::endl;
    
    TString query(Form("submit %s %d %d %d", RunJDLName().Data(), runNumber, nChunk, nEvtChunk));
    
    std::cout << query.Data() << " ..." << std::flush;
    
    TGridResult* res = 0x0;
    
    if (!dryRun)
    {
      res = gGrid->Command(query);
    }
    
    if (res)
    {
      TString cjobId1 = res->GetKey(0,"jobId");
      
      if (!cjobId1.Length())
      {
        std::cout << " FAILED" << std::endl << std::endl;
        gGrid->Stdout();
        gGrid->Stderr();
      }
      else
      {
        std::cout << "DONE" << std::endl;
        std::cout << Form("   --> the job Id is: %s",cjobId1.Data()) << std::endl << std::endl;
      }
    }
    else
    {
      std::cout << " FAILED" << std::endl << std::endl;
    }
    
    delete res;
  }
  
  std::cout << std::endl
  << "total number of jobs = " << nJobs << std::endl
  << "total number of generated events = " << nEvts << std::endl
  << std::endl;
  
  delete ts;
  
  return nJobs;
}

//______________________________________________________________________________
void AliMuonAccEffSubmitter::UpdateLocalFileList(Bool_t clearSnapshots)
{
  /// Update the list of local files
  
  AliMuonGridSubmitter::UpdateLocalFileList();
  
  if (!NofRuns()) return;
  
  if ( clearSnapshots )
  {
    TIter next(LocalFileList());
    TObjString* file;
    
    while ( ( file = static_cast<TObjString*>(next())) )
    {
      if ( file->String().Contains("OCDB_") )
      {
        LocalFileList()->Remove(file);
      }
    }
    LocalFileList()->Compress();
  }

  const char* type[] = { "sim","rec" };
  
  const std::vector<int>& runs = RunList();
  
  for ( std::vector<int>::size_type i = 0; i < runs.size(); ++i )
  {
    Int_t runNumber = runs[i];
    
    for ( Int_t t = 0; t < 2; ++t )
    {
      TString snapshot(Form("%s/OCDB/%d/OCDB_%s.root",SnapshotDir().Data(),runNumber,type[t]));
      
      if ( !gSystem->AccessPathName(snapshot.Data()) )
      {
        AddToLocalFileList(snapshot);
      }
    }
  }
}

//______________________________________________________________________________
void AliMuonAccEffSubmitter::UseOCDBSnapshots(Bool_t flag)
{
  /// Whether or not to use OCDB snapshots
  /// Using OCDB snapshots will speed-up both the sim and reco initialization
  /// phases on each worker node, but takes time to produce...
  /// So using them is not always a win-win...
  
  fUseOCDBSnapshots = flag;
  if ( flag )
  {
    SetVar("VAR_OCDB_SNAPSHOT","kTRUE");
    
    // for some reason must include ITS objects in the snapshot
    // (to be able to instantiante the vertexer later on ?)
    
    SetVar("VAR_USE_ITS_RECO","1");
  }
  else
  {
    SetVar("VAR_OCDB_SNAPSHOT","kFALSE");
  }
  
  UpdateLocalFileList();
}

//______________________________________________________________________________
void AliMuonAccEffSubmitter::UseAODMerging(Bool_t flag)
{
  /// whether or not we should generate JDL for merging AODs
  
  fUseAODMerging = flag;
  
  AddToTemplateFileList(MergeJDLName(kFALSE).Data());
  AddToTemplateFileList(MergeJDLName(kTRUE).Data());
  AddToTemplateFileList("AOD_merge.sh");
  AddToTemplateFileList("validation_merge.sh");
}

//______________________________________________________________________________
void AliMuonAccEffSubmitter::UseExternalConfig(const char* externalConfigFullFilePath)
{
  // use an external config (or the default Config.C if externalConfigFullFilePath="")
  
  fExternalConfig = externalConfigFullFilePath;
  if ( fExternalConfig.Length() > 0 )
  {
    AddToTemplateFileList(fExternalConfig);
  }
  else
  {
    AddToTemplateFileList("Config.C");
  }
}
 AliMuonAccEffSubmitter.cxx:1
 AliMuonAccEffSubmitter.cxx:2
 AliMuonAccEffSubmitter.cxx:3
 AliMuonAccEffSubmitter.cxx:4
 AliMuonAccEffSubmitter.cxx:5
 AliMuonAccEffSubmitter.cxx:6
 AliMuonAccEffSubmitter.cxx:7
 AliMuonAccEffSubmitter.cxx:8
 AliMuonAccEffSubmitter.cxx:9
 AliMuonAccEffSubmitter.cxx:10
 AliMuonAccEffSubmitter.cxx:11
 AliMuonAccEffSubmitter.cxx:12
 AliMuonAccEffSubmitter.cxx:13
 AliMuonAccEffSubmitter.cxx:14
 AliMuonAccEffSubmitter.cxx:15
 AliMuonAccEffSubmitter.cxx:16
 AliMuonAccEffSubmitter.cxx:17
 AliMuonAccEffSubmitter.cxx:18
 AliMuonAccEffSubmitter.cxx:19
 AliMuonAccEffSubmitter.cxx:20
 AliMuonAccEffSubmitter.cxx:21
 AliMuonAccEffSubmitter.cxx:22
 AliMuonAccEffSubmitter.cxx:23
 AliMuonAccEffSubmitter.cxx:24
 AliMuonAccEffSubmitter.cxx:25
 AliMuonAccEffSubmitter.cxx:26
 AliMuonAccEffSubmitter.cxx:27
 AliMuonAccEffSubmitter.cxx:28
 AliMuonAccEffSubmitter.cxx:29
 AliMuonAccEffSubmitter.cxx:30
 AliMuonAccEffSubmitter.cxx:31
 AliMuonAccEffSubmitter.cxx:32
 AliMuonAccEffSubmitter.cxx:33
 AliMuonAccEffSubmitter.cxx:34
 AliMuonAccEffSubmitter.cxx:35
 AliMuonAccEffSubmitter.cxx:36
 AliMuonAccEffSubmitter.cxx:37
 AliMuonAccEffSubmitter.cxx:38
 AliMuonAccEffSubmitter.cxx:39
 AliMuonAccEffSubmitter.cxx:40
 AliMuonAccEffSubmitter.cxx:41
 AliMuonAccEffSubmitter.cxx:42
 AliMuonAccEffSubmitter.cxx:43
 AliMuonAccEffSubmitter.cxx:44
 AliMuonAccEffSubmitter.cxx:45
 AliMuonAccEffSubmitter.cxx:46
 AliMuonAccEffSubmitter.cxx:47
 AliMuonAccEffSubmitter.cxx:48
 AliMuonAccEffSubmitter.cxx:49
 AliMuonAccEffSubmitter.cxx:50
 AliMuonAccEffSubmitter.cxx:51
 AliMuonAccEffSubmitter.cxx:52
 AliMuonAccEffSubmitter.cxx:53
 AliMuonAccEffSubmitter.cxx:54
 AliMuonAccEffSubmitter.cxx:55
 AliMuonAccEffSubmitter.cxx:56
 AliMuonAccEffSubmitter.cxx:57
 AliMuonAccEffSubmitter.cxx:58
 AliMuonAccEffSubmitter.cxx:59
 AliMuonAccEffSubmitter.cxx:60
 AliMuonAccEffSubmitter.cxx:61
 AliMuonAccEffSubmitter.cxx:62
 AliMuonAccEffSubmitter.cxx:63
 AliMuonAccEffSubmitter.cxx:64
 AliMuonAccEffSubmitter.cxx:65
 AliMuonAccEffSubmitter.cxx:66
 AliMuonAccEffSubmitter.cxx:67
 AliMuonAccEffSubmitter.cxx:68
 AliMuonAccEffSubmitter.cxx:69
 AliMuonAccEffSubmitter.cxx:70
 AliMuonAccEffSubmitter.cxx:71
 AliMuonAccEffSubmitter.cxx:72
 AliMuonAccEffSubmitter.cxx:73
 AliMuonAccEffSubmitter.cxx:74
 AliMuonAccEffSubmitter.cxx:75
 AliMuonAccEffSubmitter.cxx:76
 AliMuonAccEffSubmitter.cxx:77
 AliMuonAccEffSubmitter.cxx:78
 AliMuonAccEffSubmitter.cxx:79
 AliMuonAccEffSubmitter.cxx:80
 AliMuonAccEffSubmitter.cxx:81
 AliMuonAccEffSubmitter.cxx:82
 AliMuonAccEffSubmitter.cxx:83
 AliMuonAccEffSubmitter.cxx:84
 AliMuonAccEffSubmitter.cxx:85
 AliMuonAccEffSubmitter.cxx:86
 AliMuonAccEffSubmitter.cxx:87
 AliMuonAccEffSubmitter.cxx:88
 AliMuonAccEffSubmitter.cxx:89
 AliMuonAccEffSubmitter.cxx:90
 AliMuonAccEffSubmitter.cxx:91
 AliMuonAccEffSubmitter.cxx:92
 AliMuonAccEffSubmitter.cxx:93
 AliMuonAccEffSubmitter.cxx:94
 AliMuonAccEffSubmitter.cxx:95
 AliMuonAccEffSubmitter.cxx:96
 AliMuonAccEffSubmitter.cxx:97
 AliMuonAccEffSubmitter.cxx:98
 AliMuonAccEffSubmitter.cxx:99
 AliMuonAccEffSubmitter.cxx:100
 AliMuonAccEffSubmitter.cxx:101
 AliMuonAccEffSubmitter.cxx:102
 AliMuonAccEffSubmitter.cxx:103
 AliMuonAccEffSubmitter.cxx:104
 AliMuonAccEffSubmitter.cxx:105
 AliMuonAccEffSubmitter.cxx:106
 AliMuonAccEffSubmitter.cxx:107
 AliMuonAccEffSubmitter.cxx:108
 AliMuonAccEffSubmitter.cxx:109
 AliMuonAccEffSubmitter.cxx:110
 AliMuonAccEffSubmitter.cxx:111
 AliMuonAccEffSubmitter.cxx:112
 AliMuonAccEffSubmitter.cxx:113
 AliMuonAccEffSubmitter.cxx:114
 AliMuonAccEffSubmitter.cxx:115
 AliMuonAccEffSubmitter.cxx:116
 AliMuonAccEffSubmitter.cxx:117
 AliMuonAccEffSubmitter.cxx:118
 AliMuonAccEffSubmitter.cxx:119
 AliMuonAccEffSubmitter.cxx:120
 AliMuonAccEffSubmitter.cxx:121
 AliMuonAccEffSubmitter.cxx:122
 AliMuonAccEffSubmitter.cxx:123
 AliMuonAccEffSubmitter.cxx:124
 AliMuonAccEffSubmitter.cxx:125
 AliMuonAccEffSubmitter.cxx:126
 AliMuonAccEffSubmitter.cxx:127
 AliMuonAccEffSubmitter.cxx:128
 AliMuonAccEffSubmitter.cxx:129
 AliMuonAccEffSubmitter.cxx:130
 AliMuonAccEffSubmitter.cxx:131
 AliMuonAccEffSubmitter.cxx:132
 AliMuonAccEffSubmitter.cxx:133
 AliMuonAccEffSubmitter.cxx:134
 AliMuonAccEffSubmitter.cxx:135
 AliMuonAccEffSubmitter.cxx:136
 AliMuonAccEffSubmitter.cxx:137
 AliMuonAccEffSubmitter.cxx:138
 AliMuonAccEffSubmitter.cxx:139
 AliMuonAccEffSubmitter.cxx:140
 AliMuonAccEffSubmitter.cxx:141
 AliMuonAccEffSubmitter.cxx:142
 AliMuonAccEffSubmitter.cxx:143
 AliMuonAccEffSubmitter.cxx:144
 AliMuonAccEffSubmitter.cxx:145
 AliMuonAccEffSubmitter.cxx:146
 AliMuonAccEffSubmitter.cxx:147
 AliMuonAccEffSubmitter.cxx:148
 AliMuonAccEffSubmitter.cxx:149
 AliMuonAccEffSubmitter.cxx:150
 AliMuonAccEffSubmitter.cxx:151
 AliMuonAccEffSubmitter.cxx:152
 AliMuonAccEffSubmitter.cxx:153
 AliMuonAccEffSubmitter.cxx:154
 AliMuonAccEffSubmitter.cxx:155
 AliMuonAccEffSubmitter.cxx:156
 AliMuonAccEffSubmitter.cxx:157
 AliMuonAccEffSubmitter.cxx:158
 AliMuonAccEffSubmitter.cxx:159
 AliMuonAccEffSubmitter.cxx:160
 AliMuonAccEffSubmitter.cxx:161
 AliMuonAccEffSubmitter.cxx:162
 AliMuonAccEffSubmitter.cxx:163
 AliMuonAccEffSubmitter.cxx:164
 AliMuonAccEffSubmitter.cxx:165
 AliMuonAccEffSubmitter.cxx:166
 AliMuonAccEffSubmitter.cxx:167
 AliMuonAccEffSubmitter.cxx:168
 AliMuonAccEffSubmitter.cxx:169
 AliMuonAccEffSubmitter.cxx:170
 AliMuonAccEffSubmitter.cxx:171
 AliMuonAccEffSubmitter.cxx:172
 AliMuonAccEffSubmitter.cxx:173
 AliMuonAccEffSubmitter.cxx:174
 AliMuonAccEffSubmitter.cxx:175
 AliMuonAccEffSubmitter.cxx:176
 AliMuonAccEffSubmitter.cxx:177
 AliMuonAccEffSubmitter.cxx:178
 AliMuonAccEffSubmitter.cxx:179
 AliMuonAccEffSubmitter.cxx:180
 AliMuonAccEffSubmitter.cxx:181
 AliMuonAccEffSubmitter.cxx:182
 AliMuonAccEffSubmitter.cxx:183
 AliMuonAccEffSubmitter.cxx:184
 AliMuonAccEffSubmitter.cxx:185
 AliMuonAccEffSubmitter.cxx:186
 AliMuonAccEffSubmitter.cxx:187
 AliMuonAccEffSubmitter.cxx:188
 AliMuonAccEffSubmitter.cxx:189
 AliMuonAccEffSubmitter.cxx:190
 AliMuonAccEffSubmitter.cxx:191
 AliMuonAccEffSubmitter.cxx:192
 AliMuonAccEffSubmitter.cxx:193
 AliMuonAccEffSubmitter.cxx:194
 AliMuonAccEffSubmitter.cxx:195
 AliMuonAccEffSubmitter.cxx:196
 AliMuonAccEffSubmitter.cxx:197
 AliMuonAccEffSubmitter.cxx:198
 AliMuonAccEffSubmitter.cxx:199
 AliMuonAccEffSubmitter.cxx:200
 AliMuonAccEffSubmitter.cxx:201
 AliMuonAccEffSubmitter.cxx:202
 AliMuonAccEffSubmitter.cxx:203
 AliMuonAccEffSubmitter.cxx:204
 AliMuonAccEffSubmitter.cxx:205
 AliMuonAccEffSubmitter.cxx:206
 AliMuonAccEffSubmitter.cxx:207
 AliMuonAccEffSubmitter.cxx:208
 AliMuonAccEffSubmitter.cxx:209
 AliMuonAccEffSubmitter.cxx:210
 AliMuonAccEffSubmitter.cxx:211
 AliMuonAccEffSubmitter.cxx:212
 AliMuonAccEffSubmitter.cxx:213
 AliMuonAccEffSubmitter.cxx:214
 AliMuonAccEffSubmitter.cxx:215
 AliMuonAccEffSubmitter.cxx:216
 AliMuonAccEffSubmitter.cxx:217
 AliMuonAccEffSubmitter.cxx:218
 AliMuonAccEffSubmitter.cxx:219
 AliMuonAccEffSubmitter.cxx:220
 AliMuonAccEffSubmitter.cxx:221
 AliMuonAccEffSubmitter.cxx:222
 AliMuonAccEffSubmitter.cxx:223
 AliMuonAccEffSubmitter.cxx:224
 AliMuonAccEffSubmitter.cxx:225
 AliMuonAccEffSubmitter.cxx:226
 AliMuonAccEffSubmitter.cxx:227
 AliMuonAccEffSubmitter.cxx:228
 AliMuonAccEffSubmitter.cxx:229
 AliMuonAccEffSubmitter.cxx:230
 AliMuonAccEffSubmitter.cxx:231
 AliMuonAccEffSubmitter.cxx:232
 AliMuonAccEffSubmitter.cxx:233
 AliMuonAccEffSubmitter.cxx:234
 AliMuonAccEffSubmitter.cxx:235
 AliMuonAccEffSubmitter.cxx:236
 AliMuonAccEffSubmitter.cxx:237
 AliMuonAccEffSubmitter.cxx:238
 AliMuonAccEffSubmitter.cxx:239
 AliMuonAccEffSubmitter.cxx:240
 AliMuonAccEffSubmitter.cxx:241
 AliMuonAccEffSubmitter.cxx:242
 AliMuonAccEffSubmitter.cxx:243
 AliMuonAccEffSubmitter.cxx:244
 AliMuonAccEffSubmitter.cxx:245
 AliMuonAccEffSubmitter.cxx:246
 AliMuonAccEffSubmitter.cxx:247
 AliMuonAccEffSubmitter.cxx:248
 AliMuonAccEffSubmitter.cxx:249
 AliMuonAccEffSubmitter.cxx:250
 AliMuonAccEffSubmitter.cxx:251
 AliMuonAccEffSubmitter.cxx:252
 AliMuonAccEffSubmitter.cxx:253
 AliMuonAccEffSubmitter.cxx:254
 AliMuonAccEffSubmitter.cxx:255
 AliMuonAccEffSubmitter.cxx:256
 AliMuonAccEffSubmitter.cxx:257
 AliMuonAccEffSubmitter.cxx:258
 AliMuonAccEffSubmitter.cxx:259
 AliMuonAccEffSubmitter.cxx:260
 AliMuonAccEffSubmitter.cxx:261
 AliMuonAccEffSubmitter.cxx:262
 AliMuonAccEffSubmitter.cxx:263
 AliMuonAccEffSubmitter.cxx:264
 AliMuonAccEffSubmitter.cxx:265
 AliMuonAccEffSubmitter.cxx:266
 AliMuonAccEffSubmitter.cxx:267
 AliMuonAccEffSubmitter.cxx:268
 AliMuonAccEffSubmitter.cxx:269
 AliMuonAccEffSubmitter.cxx:270
 AliMuonAccEffSubmitter.cxx:271
 AliMuonAccEffSubmitter.cxx:272
 AliMuonAccEffSubmitter.cxx:273
 AliMuonAccEffSubmitter.cxx:274
 AliMuonAccEffSubmitter.cxx:275
 AliMuonAccEffSubmitter.cxx:276
 AliMuonAccEffSubmitter.cxx:277
 AliMuonAccEffSubmitter.cxx:278
 AliMuonAccEffSubmitter.cxx:279
 AliMuonAccEffSubmitter.cxx:280
 AliMuonAccEffSubmitter.cxx:281
 AliMuonAccEffSubmitter.cxx:282
 AliMuonAccEffSubmitter.cxx:283
 AliMuonAccEffSubmitter.cxx:284
 AliMuonAccEffSubmitter.cxx:285
 AliMuonAccEffSubmitter.cxx:286
 AliMuonAccEffSubmitter.cxx:287
 AliMuonAccEffSubmitter.cxx:288
 AliMuonAccEffSubmitter.cxx:289
 AliMuonAccEffSubmitter.cxx:290
 AliMuonAccEffSubmitter.cxx:291
 AliMuonAccEffSubmitter.cxx:292
 AliMuonAccEffSubmitter.cxx:293
 AliMuonAccEffSubmitter.cxx:294
 AliMuonAccEffSubmitter.cxx:295
 AliMuonAccEffSubmitter.cxx:296
 AliMuonAccEffSubmitter.cxx:297
 AliMuonAccEffSubmitter.cxx:298
 AliMuonAccEffSubmitter.cxx:299
 AliMuonAccEffSubmitter.cxx:300
 AliMuonAccEffSubmitter.cxx:301
 AliMuonAccEffSubmitter.cxx:302
 AliMuonAccEffSubmitter.cxx:303
 AliMuonAccEffSubmitter.cxx:304
 AliMuonAccEffSubmitter.cxx:305
 AliMuonAccEffSubmitter.cxx:306
 AliMuonAccEffSubmitter.cxx:307
 AliMuonAccEffSubmitter.cxx:308
 AliMuonAccEffSubmitter.cxx:309
 AliMuonAccEffSubmitter.cxx:310
 AliMuonAccEffSubmitter.cxx:311
 AliMuonAccEffSubmitter.cxx:312
 AliMuonAccEffSubmitter.cxx:313
 AliMuonAccEffSubmitter.cxx:314
 AliMuonAccEffSubmitter.cxx:315
 AliMuonAccEffSubmitter.cxx:316
 AliMuonAccEffSubmitter.cxx:317
 AliMuonAccEffSubmitter.cxx:318
 AliMuonAccEffSubmitter.cxx:319
 AliMuonAccEffSubmitter.cxx:320
 AliMuonAccEffSubmitter.cxx:321
 AliMuonAccEffSubmitter.cxx:322
 AliMuonAccEffSubmitter.cxx:323
 AliMuonAccEffSubmitter.cxx:324
 AliMuonAccEffSubmitter.cxx:325
 AliMuonAccEffSubmitter.cxx:326
 AliMuonAccEffSubmitter.cxx:327
 AliMuonAccEffSubmitter.cxx:328
 AliMuonAccEffSubmitter.cxx:329
 AliMuonAccEffSubmitter.cxx:330
 AliMuonAccEffSubmitter.cxx:331
 AliMuonAccEffSubmitter.cxx:332
 AliMuonAccEffSubmitter.cxx:333
 AliMuonAccEffSubmitter.cxx:334
 AliMuonAccEffSubmitter.cxx:335
 AliMuonAccEffSubmitter.cxx:336
 AliMuonAccEffSubmitter.cxx:337
 AliMuonAccEffSubmitter.cxx:338
 AliMuonAccEffSubmitter.cxx:339
 AliMuonAccEffSubmitter.cxx:340
 AliMuonAccEffSubmitter.cxx:341
 AliMuonAccEffSubmitter.cxx:342
 AliMuonAccEffSubmitter.cxx:343
 AliMuonAccEffSubmitter.cxx:344
 AliMuonAccEffSubmitter.cxx:345
 AliMuonAccEffSubmitter.cxx:346
 AliMuonAccEffSubmitter.cxx:347
 AliMuonAccEffSubmitter.cxx:348
 AliMuonAccEffSubmitter.cxx:349
 AliMuonAccEffSubmitter.cxx:350
 AliMuonAccEffSubmitter.cxx:351
 AliMuonAccEffSubmitter.cxx:352
 AliMuonAccEffSubmitter.cxx:353
 AliMuonAccEffSubmitter.cxx:354
 AliMuonAccEffSubmitter.cxx:355
 AliMuonAccEffSubmitter.cxx:356
 AliMuonAccEffSubmitter.cxx:357
 AliMuonAccEffSubmitter.cxx:358
 AliMuonAccEffSubmitter.cxx:359
 AliMuonAccEffSubmitter.cxx:360
 AliMuonAccEffSubmitter.cxx:361
 AliMuonAccEffSubmitter.cxx:362
 AliMuonAccEffSubmitter.cxx:363
 AliMuonAccEffSubmitter.cxx:364
 AliMuonAccEffSubmitter.cxx:365
 AliMuonAccEffSubmitter.cxx:366
 AliMuonAccEffSubmitter.cxx:367
 AliMuonAccEffSubmitter.cxx:368
 AliMuonAccEffSubmitter.cxx:369
 AliMuonAccEffSubmitter.cxx:370
 AliMuonAccEffSubmitter.cxx:371
 AliMuonAccEffSubmitter.cxx:372
 AliMuonAccEffSubmitter.cxx:373
 AliMuonAccEffSubmitter.cxx:374
 AliMuonAccEffSubmitter.cxx:375
 AliMuonAccEffSubmitter.cxx:376
 AliMuonAccEffSubmitter.cxx:377
 AliMuonAccEffSubmitter.cxx:378
 AliMuonAccEffSubmitter.cxx:379
 AliMuonAccEffSubmitter.cxx:380
 AliMuonAccEffSubmitter.cxx:381
 AliMuonAccEffSubmitter.cxx:382
 AliMuonAccEffSubmitter.cxx:383
 AliMuonAccEffSubmitter.cxx:384
 AliMuonAccEffSubmitter.cxx:385
 AliMuonAccEffSubmitter.cxx:386
 AliMuonAccEffSubmitter.cxx:387
 AliMuonAccEffSubmitter.cxx:388
 AliMuonAccEffSubmitter.cxx:389
 AliMuonAccEffSubmitter.cxx:390
 AliMuonAccEffSubmitter.cxx:391
 AliMuonAccEffSubmitter.cxx:392
 AliMuonAccEffSubmitter.cxx:393
 AliMuonAccEffSubmitter.cxx:394
 AliMuonAccEffSubmitter.cxx:395
 AliMuonAccEffSubmitter.cxx:396
 AliMuonAccEffSubmitter.cxx:397
 AliMuonAccEffSubmitter.cxx:398
 AliMuonAccEffSubmitter.cxx:399
 AliMuonAccEffSubmitter.cxx:400
 AliMuonAccEffSubmitter.cxx:401
 AliMuonAccEffSubmitter.cxx:402
 AliMuonAccEffSubmitter.cxx:403
 AliMuonAccEffSubmitter.cxx:404
 AliMuonAccEffSubmitter.cxx:405
 AliMuonAccEffSubmitter.cxx:406
 AliMuonAccEffSubmitter.cxx:407
 AliMuonAccEffSubmitter.cxx:408
 AliMuonAccEffSubmitter.cxx:409
 AliMuonAccEffSubmitter.cxx:410
 AliMuonAccEffSubmitter.cxx:411
 AliMuonAccEffSubmitter.cxx:412
 AliMuonAccEffSubmitter.cxx:413
 AliMuonAccEffSubmitter.cxx:414
 AliMuonAccEffSubmitter.cxx:415
 AliMuonAccEffSubmitter.cxx:416
 AliMuonAccEffSubmitter.cxx:417
 AliMuonAccEffSubmitter.cxx:418
 AliMuonAccEffSubmitter.cxx:419
 AliMuonAccEffSubmitter.cxx:420
 AliMuonAccEffSubmitter.cxx:421
 AliMuonAccEffSubmitter.cxx:422
 AliMuonAccEffSubmitter.cxx:423
 AliMuonAccEffSubmitter.cxx:424
 AliMuonAccEffSubmitter.cxx:425
 AliMuonAccEffSubmitter.cxx:426
 AliMuonAccEffSubmitter.cxx:427
 AliMuonAccEffSubmitter.cxx:428
 AliMuonAccEffSubmitter.cxx:429
 AliMuonAccEffSubmitter.cxx:430
 AliMuonAccEffSubmitter.cxx:431
 AliMuonAccEffSubmitter.cxx:432
 AliMuonAccEffSubmitter.cxx:433
 AliMuonAccEffSubmitter.cxx:434
 AliMuonAccEffSubmitter.cxx:435
 AliMuonAccEffSubmitter.cxx:436
 AliMuonAccEffSubmitter.cxx:437
 AliMuonAccEffSubmitter.cxx:438
 AliMuonAccEffSubmitter.cxx:439
 AliMuonAccEffSubmitter.cxx:440
 AliMuonAccEffSubmitter.cxx:441
 AliMuonAccEffSubmitter.cxx:442
 AliMuonAccEffSubmitter.cxx:443
 AliMuonAccEffSubmitter.cxx:444
 AliMuonAccEffSubmitter.cxx:445
 AliMuonAccEffSubmitter.cxx:446
 AliMuonAccEffSubmitter.cxx:447
 AliMuonAccEffSubmitter.cxx:448
 AliMuonAccEffSubmitter.cxx:449
 AliMuonAccEffSubmitter.cxx:450
 AliMuonAccEffSubmitter.cxx:451
 AliMuonAccEffSubmitter.cxx:452
 AliMuonAccEffSubmitter.cxx:453
 AliMuonAccEffSubmitter.cxx:454
 AliMuonAccEffSubmitter.cxx:455
 AliMuonAccEffSubmitter.cxx:456
 AliMuonAccEffSubmitter.cxx:457
 AliMuonAccEffSubmitter.cxx:458
 AliMuonAccEffSubmitter.cxx:459
 AliMuonAccEffSubmitter.cxx:460
 AliMuonAccEffSubmitter.cxx:461
 AliMuonAccEffSubmitter.cxx:462
 AliMuonAccEffSubmitter.cxx:463
 AliMuonAccEffSubmitter.cxx:464
 AliMuonAccEffSubmitter.cxx:465
 AliMuonAccEffSubmitter.cxx:466
 AliMuonAccEffSubmitter.cxx:467
 AliMuonAccEffSubmitter.cxx:468
 AliMuonAccEffSubmitter.cxx:469
 AliMuonAccEffSubmitter.cxx:470
 AliMuonAccEffSubmitter.cxx:471
 AliMuonAccEffSubmitter.cxx:472
 AliMuonAccEffSubmitter.cxx:473
 AliMuonAccEffSubmitter.cxx:474
 AliMuonAccEffSubmitter.cxx:475
 AliMuonAccEffSubmitter.cxx:476
 AliMuonAccEffSubmitter.cxx:477
 AliMuonAccEffSubmitter.cxx:478
 AliMuonAccEffSubmitter.cxx:479
 AliMuonAccEffSubmitter.cxx:480
 AliMuonAccEffSubmitter.cxx:481
 AliMuonAccEffSubmitter.cxx:482
 AliMuonAccEffSubmitter.cxx:483
 AliMuonAccEffSubmitter.cxx:484
 AliMuonAccEffSubmitter.cxx:485
 AliMuonAccEffSubmitter.cxx:486
 AliMuonAccEffSubmitter.cxx:487
 AliMuonAccEffSubmitter.cxx:488
 AliMuonAccEffSubmitter.cxx:489
 AliMuonAccEffSubmitter.cxx:490
 AliMuonAccEffSubmitter.cxx:491
 AliMuonAccEffSubmitter.cxx:492
 AliMuonAccEffSubmitter.cxx:493
 AliMuonAccEffSubmitter.cxx:494
 AliMuonAccEffSubmitter.cxx:495
 AliMuonAccEffSubmitter.cxx:496
 AliMuonAccEffSubmitter.cxx:497
 AliMuonAccEffSubmitter.cxx:498
 AliMuonAccEffSubmitter.cxx:499
 AliMuonAccEffSubmitter.cxx:500
 AliMuonAccEffSubmitter.cxx:501
 AliMuonAccEffSubmitter.cxx:502
 AliMuonAccEffSubmitter.cxx:503
 AliMuonAccEffSubmitter.cxx:504
 AliMuonAccEffSubmitter.cxx:505
 AliMuonAccEffSubmitter.cxx:506
 AliMuonAccEffSubmitter.cxx:507
 AliMuonAccEffSubmitter.cxx:508
 AliMuonAccEffSubmitter.cxx:509
 AliMuonAccEffSubmitter.cxx:510
 AliMuonAccEffSubmitter.cxx:511
 AliMuonAccEffSubmitter.cxx:512
 AliMuonAccEffSubmitter.cxx:513
 AliMuonAccEffSubmitter.cxx:514
 AliMuonAccEffSubmitter.cxx:515
 AliMuonAccEffSubmitter.cxx:516
 AliMuonAccEffSubmitter.cxx:517
 AliMuonAccEffSubmitter.cxx:518
 AliMuonAccEffSubmitter.cxx:519
 AliMuonAccEffSubmitter.cxx:520
 AliMuonAccEffSubmitter.cxx:521
 AliMuonAccEffSubmitter.cxx:522
 AliMuonAccEffSubmitter.cxx:523
 AliMuonAccEffSubmitter.cxx:524
 AliMuonAccEffSubmitter.cxx:525
 AliMuonAccEffSubmitter.cxx:526
 AliMuonAccEffSubmitter.cxx:527
 AliMuonAccEffSubmitter.cxx:528
 AliMuonAccEffSubmitter.cxx:529
 AliMuonAccEffSubmitter.cxx:530
 AliMuonAccEffSubmitter.cxx:531
 AliMuonAccEffSubmitter.cxx:532
 AliMuonAccEffSubmitter.cxx:533
 AliMuonAccEffSubmitter.cxx:534
 AliMuonAccEffSubmitter.cxx:535
 AliMuonAccEffSubmitter.cxx:536
 AliMuonAccEffSubmitter.cxx:537
 AliMuonAccEffSubmitter.cxx:538
 AliMuonAccEffSubmitter.cxx:539
 AliMuonAccEffSubmitter.cxx:540
 AliMuonAccEffSubmitter.cxx:541
 AliMuonAccEffSubmitter.cxx:542
 AliMuonAccEffSubmitter.cxx:543
 AliMuonAccEffSubmitter.cxx:544
 AliMuonAccEffSubmitter.cxx:545
 AliMuonAccEffSubmitter.cxx:546
 AliMuonAccEffSubmitter.cxx:547
 AliMuonAccEffSubmitter.cxx:548
 AliMuonAccEffSubmitter.cxx:549
 AliMuonAccEffSubmitter.cxx:550
 AliMuonAccEffSubmitter.cxx:551
 AliMuonAccEffSubmitter.cxx:552
 AliMuonAccEffSubmitter.cxx:553
 AliMuonAccEffSubmitter.cxx:554
 AliMuonAccEffSubmitter.cxx:555
 AliMuonAccEffSubmitter.cxx:556
 AliMuonAccEffSubmitter.cxx:557
 AliMuonAccEffSubmitter.cxx:558
 AliMuonAccEffSubmitter.cxx:559
 AliMuonAccEffSubmitter.cxx:560
 AliMuonAccEffSubmitter.cxx:561
 AliMuonAccEffSubmitter.cxx:562
 AliMuonAccEffSubmitter.cxx:563
 AliMuonAccEffSubmitter.cxx:564
 AliMuonAccEffSubmitter.cxx:565
 AliMuonAccEffSubmitter.cxx:566
 AliMuonAccEffSubmitter.cxx:567
 AliMuonAccEffSubmitter.cxx:568
 AliMuonAccEffSubmitter.cxx:569
 AliMuonAccEffSubmitter.cxx:570
 AliMuonAccEffSubmitter.cxx:571
 AliMuonAccEffSubmitter.cxx:572
 AliMuonAccEffSubmitter.cxx:573
 AliMuonAccEffSubmitter.cxx:574
 AliMuonAccEffSubmitter.cxx:575
 AliMuonAccEffSubmitter.cxx:576
 AliMuonAccEffSubmitter.cxx:577
 AliMuonAccEffSubmitter.cxx:578
 AliMuonAccEffSubmitter.cxx:579
 AliMuonAccEffSubmitter.cxx:580
 AliMuonAccEffSubmitter.cxx:581
 AliMuonAccEffSubmitter.cxx:582
 AliMuonAccEffSubmitter.cxx:583
 AliMuonAccEffSubmitter.cxx:584
 AliMuonAccEffSubmitter.cxx:585
 AliMuonAccEffSubmitter.cxx:586
 AliMuonAccEffSubmitter.cxx:587
 AliMuonAccEffSubmitter.cxx:588
 AliMuonAccEffSubmitter.cxx:589
 AliMuonAccEffSubmitter.cxx:590
 AliMuonAccEffSubmitter.cxx:591
 AliMuonAccEffSubmitter.cxx:592
 AliMuonAccEffSubmitter.cxx:593
 AliMuonAccEffSubmitter.cxx:594
 AliMuonAccEffSubmitter.cxx:595
 AliMuonAccEffSubmitter.cxx:596
 AliMuonAccEffSubmitter.cxx:597
 AliMuonAccEffSubmitter.cxx:598
 AliMuonAccEffSubmitter.cxx:599
 AliMuonAccEffSubmitter.cxx:600
 AliMuonAccEffSubmitter.cxx:601
 AliMuonAccEffSubmitter.cxx:602
 AliMuonAccEffSubmitter.cxx:603
 AliMuonAccEffSubmitter.cxx:604
 AliMuonAccEffSubmitter.cxx:605
 AliMuonAccEffSubmitter.cxx:606
 AliMuonAccEffSubmitter.cxx:607
 AliMuonAccEffSubmitter.cxx:608
 AliMuonAccEffSubmitter.cxx:609
 AliMuonAccEffSubmitter.cxx:610
 AliMuonAccEffSubmitter.cxx:611
 AliMuonAccEffSubmitter.cxx:612
 AliMuonAccEffSubmitter.cxx:613
 AliMuonAccEffSubmitter.cxx:614
 AliMuonAccEffSubmitter.cxx:615
 AliMuonAccEffSubmitter.cxx:616
 AliMuonAccEffSubmitter.cxx:617
 AliMuonAccEffSubmitter.cxx:618
 AliMuonAccEffSubmitter.cxx:619
 AliMuonAccEffSubmitter.cxx:620
 AliMuonAccEffSubmitter.cxx:621
 AliMuonAccEffSubmitter.cxx:622
 AliMuonAccEffSubmitter.cxx:623
 AliMuonAccEffSubmitter.cxx:624
 AliMuonAccEffSubmitter.cxx:625
 AliMuonAccEffSubmitter.cxx:626
 AliMuonAccEffSubmitter.cxx:627
 AliMuonAccEffSubmitter.cxx:628
 AliMuonAccEffSubmitter.cxx:629
 AliMuonAccEffSubmitter.cxx:630
 AliMuonAccEffSubmitter.cxx:631
 AliMuonAccEffSubmitter.cxx:632
 AliMuonAccEffSubmitter.cxx:633
 AliMuonAccEffSubmitter.cxx:634
 AliMuonAccEffSubmitter.cxx:635
 AliMuonAccEffSubmitter.cxx:636
 AliMuonAccEffSubmitter.cxx:637
 AliMuonAccEffSubmitter.cxx:638
 AliMuonAccEffSubmitter.cxx:639
 AliMuonAccEffSubmitter.cxx:640
 AliMuonAccEffSubmitter.cxx:641
 AliMuonAccEffSubmitter.cxx:642
 AliMuonAccEffSubmitter.cxx:643
 AliMuonAccEffSubmitter.cxx:644
 AliMuonAccEffSubmitter.cxx:645
 AliMuonAccEffSubmitter.cxx:646
 AliMuonAccEffSubmitter.cxx:647
 AliMuonAccEffSubmitter.cxx:648
 AliMuonAccEffSubmitter.cxx:649
 AliMuonAccEffSubmitter.cxx:650
 AliMuonAccEffSubmitter.cxx:651
 AliMuonAccEffSubmitter.cxx:652
 AliMuonAccEffSubmitter.cxx:653
 AliMuonAccEffSubmitter.cxx:654
 AliMuonAccEffSubmitter.cxx:655
 AliMuonAccEffSubmitter.cxx:656
 AliMuonAccEffSubmitter.cxx:657
 AliMuonAccEffSubmitter.cxx:658
 AliMuonAccEffSubmitter.cxx:659
 AliMuonAccEffSubmitter.cxx:660
 AliMuonAccEffSubmitter.cxx:661
 AliMuonAccEffSubmitter.cxx:662
 AliMuonAccEffSubmitter.cxx:663
 AliMuonAccEffSubmitter.cxx:664
 AliMuonAccEffSubmitter.cxx:665
 AliMuonAccEffSubmitter.cxx:666
 AliMuonAccEffSubmitter.cxx:667
 AliMuonAccEffSubmitter.cxx:668
 AliMuonAccEffSubmitter.cxx:669
 AliMuonAccEffSubmitter.cxx:670
 AliMuonAccEffSubmitter.cxx:671
 AliMuonAccEffSubmitter.cxx:672
 AliMuonAccEffSubmitter.cxx:673
 AliMuonAccEffSubmitter.cxx:674
 AliMuonAccEffSubmitter.cxx:675
 AliMuonAccEffSubmitter.cxx:676
 AliMuonAccEffSubmitter.cxx:677
 AliMuonAccEffSubmitter.cxx:678
 AliMuonAccEffSubmitter.cxx:679
 AliMuonAccEffSubmitter.cxx:680
 AliMuonAccEffSubmitter.cxx:681
 AliMuonAccEffSubmitter.cxx:682
 AliMuonAccEffSubmitter.cxx:683
 AliMuonAccEffSubmitter.cxx:684
 AliMuonAccEffSubmitter.cxx:685
 AliMuonAccEffSubmitter.cxx:686
 AliMuonAccEffSubmitter.cxx:687
 AliMuonAccEffSubmitter.cxx:688
 AliMuonAccEffSubmitter.cxx:689
 AliMuonAccEffSubmitter.cxx:690
 AliMuonAccEffSubmitter.cxx:691
 AliMuonAccEffSubmitter.cxx:692
 AliMuonAccEffSubmitter.cxx:693
 AliMuonAccEffSubmitter.cxx:694
 AliMuonAccEffSubmitter.cxx:695
 AliMuonAccEffSubmitter.cxx:696
 AliMuonAccEffSubmitter.cxx:697
 AliMuonAccEffSubmitter.cxx:698
 AliMuonAccEffSubmitter.cxx:699
 AliMuonAccEffSubmitter.cxx:700
 AliMuonAccEffSubmitter.cxx:701
 AliMuonAccEffSubmitter.cxx:702
 AliMuonAccEffSubmitter.cxx:703
 AliMuonAccEffSubmitter.cxx:704
 AliMuonAccEffSubmitter.cxx:705
 AliMuonAccEffSubmitter.cxx:706
 AliMuonAccEffSubmitter.cxx:707
 AliMuonAccEffSubmitter.cxx:708
 AliMuonAccEffSubmitter.cxx:709
 AliMuonAccEffSubmitter.cxx:710
 AliMuonAccEffSubmitter.cxx:711
 AliMuonAccEffSubmitter.cxx:712
 AliMuonAccEffSubmitter.cxx:713
 AliMuonAccEffSubmitter.cxx:714
 AliMuonAccEffSubmitter.cxx:715
 AliMuonAccEffSubmitter.cxx:716
 AliMuonAccEffSubmitter.cxx:717
 AliMuonAccEffSubmitter.cxx:718
 AliMuonAccEffSubmitter.cxx:719
 AliMuonAccEffSubmitter.cxx:720
 AliMuonAccEffSubmitter.cxx:721
 AliMuonAccEffSubmitter.cxx:722
 AliMuonAccEffSubmitter.cxx:723
 AliMuonAccEffSubmitter.cxx:724
 AliMuonAccEffSubmitter.cxx:725
 AliMuonAccEffSubmitter.cxx:726
 AliMuonAccEffSubmitter.cxx:727
 AliMuonAccEffSubmitter.cxx:728
 AliMuonAccEffSubmitter.cxx:729
 AliMuonAccEffSubmitter.cxx:730
 AliMuonAccEffSubmitter.cxx:731
 AliMuonAccEffSubmitter.cxx:732
 AliMuonAccEffSubmitter.cxx:733
 AliMuonAccEffSubmitter.cxx:734
 AliMuonAccEffSubmitter.cxx:735
 AliMuonAccEffSubmitter.cxx:736
 AliMuonAccEffSubmitter.cxx:737
 AliMuonAccEffSubmitter.cxx:738
 AliMuonAccEffSubmitter.cxx:739
 AliMuonAccEffSubmitter.cxx:740
 AliMuonAccEffSubmitter.cxx:741
 AliMuonAccEffSubmitter.cxx:742
 AliMuonAccEffSubmitter.cxx:743
 AliMuonAccEffSubmitter.cxx:744
 AliMuonAccEffSubmitter.cxx:745
 AliMuonAccEffSubmitter.cxx:746
 AliMuonAccEffSubmitter.cxx:747
 AliMuonAccEffSubmitter.cxx:748
 AliMuonAccEffSubmitter.cxx:749
 AliMuonAccEffSubmitter.cxx:750
 AliMuonAccEffSubmitter.cxx:751
 AliMuonAccEffSubmitter.cxx:752
 AliMuonAccEffSubmitter.cxx:753
 AliMuonAccEffSubmitter.cxx:754
 AliMuonAccEffSubmitter.cxx:755
 AliMuonAccEffSubmitter.cxx:756
 AliMuonAccEffSubmitter.cxx:757
 AliMuonAccEffSubmitter.cxx:758
 AliMuonAccEffSubmitter.cxx:759
 AliMuonAccEffSubmitter.cxx:760
 AliMuonAccEffSubmitter.cxx:761
 AliMuonAccEffSubmitter.cxx:762
 AliMuonAccEffSubmitter.cxx:763
 AliMuonAccEffSubmitter.cxx:764
 AliMuonAccEffSubmitter.cxx:765
 AliMuonAccEffSubmitter.cxx:766
 AliMuonAccEffSubmitter.cxx:767
 AliMuonAccEffSubmitter.cxx:768
 AliMuonAccEffSubmitter.cxx:769
 AliMuonAccEffSubmitter.cxx:770
 AliMuonAccEffSubmitter.cxx:771
 AliMuonAccEffSubmitter.cxx:772
 AliMuonAccEffSubmitter.cxx:773
 AliMuonAccEffSubmitter.cxx:774
 AliMuonAccEffSubmitter.cxx:775
 AliMuonAccEffSubmitter.cxx:776
 AliMuonAccEffSubmitter.cxx:777
 AliMuonAccEffSubmitter.cxx:778
 AliMuonAccEffSubmitter.cxx:779
 AliMuonAccEffSubmitter.cxx:780
 AliMuonAccEffSubmitter.cxx:781
 AliMuonAccEffSubmitter.cxx:782
 AliMuonAccEffSubmitter.cxx:783
 AliMuonAccEffSubmitter.cxx:784
 AliMuonAccEffSubmitter.cxx:785
 AliMuonAccEffSubmitter.cxx:786
 AliMuonAccEffSubmitter.cxx:787
 AliMuonAccEffSubmitter.cxx:788
 AliMuonAccEffSubmitter.cxx:789
 AliMuonAccEffSubmitter.cxx:790
 AliMuonAccEffSubmitter.cxx:791
 AliMuonAccEffSubmitter.cxx:792
 AliMuonAccEffSubmitter.cxx:793
 AliMuonAccEffSubmitter.cxx:794
 AliMuonAccEffSubmitter.cxx:795
 AliMuonAccEffSubmitter.cxx:796
 AliMuonAccEffSubmitter.cxx:797
 AliMuonAccEffSubmitter.cxx:798
 AliMuonAccEffSubmitter.cxx:799
 AliMuonAccEffSubmitter.cxx:800
 AliMuonAccEffSubmitter.cxx:801
 AliMuonAccEffSubmitter.cxx:802
 AliMuonAccEffSubmitter.cxx:803
 AliMuonAccEffSubmitter.cxx:804
 AliMuonAccEffSubmitter.cxx:805
 AliMuonAccEffSubmitter.cxx:806
 AliMuonAccEffSubmitter.cxx:807
 AliMuonAccEffSubmitter.cxx:808
 AliMuonAccEffSubmitter.cxx:809
 AliMuonAccEffSubmitter.cxx:810
 AliMuonAccEffSubmitter.cxx:811
 AliMuonAccEffSubmitter.cxx:812
 AliMuonAccEffSubmitter.cxx:813
 AliMuonAccEffSubmitter.cxx:814
 AliMuonAccEffSubmitter.cxx:815
 AliMuonAccEffSubmitter.cxx:816
 AliMuonAccEffSubmitter.cxx:817
 AliMuonAccEffSubmitter.cxx:818
 AliMuonAccEffSubmitter.cxx:819
 AliMuonAccEffSubmitter.cxx:820
 AliMuonAccEffSubmitter.cxx:821
 AliMuonAccEffSubmitter.cxx:822
 AliMuonAccEffSubmitter.cxx:823
 AliMuonAccEffSubmitter.cxx:824
 AliMuonAccEffSubmitter.cxx:825
 AliMuonAccEffSubmitter.cxx:826
 AliMuonAccEffSubmitter.cxx:827
 AliMuonAccEffSubmitter.cxx:828
 AliMuonAccEffSubmitter.cxx:829
 AliMuonAccEffSubmitter.cxx:830
 AliMuonAccEffSubmitter.cxx:831
 AliMuonAccEffSubmitter.cxx:832
 AliMuonAccEffSubmitter.cxx:833
 AliMuonAccEffSubmitter.cxx:834
 AliMuonAccEffSubmitter.cxx:835
 AliMuonAccEffSubmitter.cxx:836
 AliMuonAccEffSubmitter.cxx:837
 AliMuonAccEffSubmitter.cxx:838
 AliMuonAccEffSubmitter.cxx:839
 AliMuonAccEffSubmitter.cxx:840
 AliMuonAccEffSubmitter.cxx:841
 AliMuonAccEffSubmitter.cxx:842
 AliMuonAccEffSubmitter.cxx:843
 AliMuonAccEffSubmitter.cxx:844
 AliMuonAccEffSubmitter.cxx:845
 AliMuonAccEffSubmitter.cxx:846
 AliMuonAccEffSubmitter.cxx:847
 AliMuonAccEffSubmitter.cxx:848
 AliMuonAccEffSubmitter.cxx:849
 AliMuonAccEffSubmitter.cxx:850
 AliMuonAccEffSubmitter.cxx:851
 AliMuonAccEffSubmitter.cxx:852
 AliMuonAccEffSubmitter.cxx:853
 AliMuonAccEffSubmitter.cxx:854
 AliMuonAccEffSubmitter.cxx:855
 AliMuonAccEffSubmitter.cxx:856
 AliMuonAccEffSubmitter.cxx:857
 AliMuonAccEffSubmitter.cxx:858
 AliMuonAccEffSubmitter.cxx:859
 AliMuonAccEffSubmitter.cxx:860
 AliMuonAccEffSubmitter.cxx:861
 AliMuonAccEffSubmitter.cxx:862
 AliMuonAccEffSubmitter.cxx:863
 AliMuonAccEffSubmitter.cxx:864
 AliMuonAccEffSubmitter.cxx:865
 AliMuonAccEffSubmitter.cxx:866
 AliMuonAccEffSubmitter.cxx:867
 AliMuonAccEffSubmitter.cxx:868
 AliMuonAccEffSubmitter.cxx:869
 AliMuonAccEffSubmitter.cxx:870
 AliMuonAccEffSubmitter.cxx:871
 AliMuonAccEffSubmitter.cxx:872
 AliMuonAccEffSubmitter.cxx:873
 AliMuonAccEffSubmitter.cxx:874
 AliMuonAccEffSubmitter.cxx:875
 AliMuonAccEffSubmitter.cxx:876
 AliMuonAccEffSubmitter.cxx:877
 AliMuonAccEffSubmitter.cxx:878
 AliMuonAccEffSubmitter.cxx:879
 AliMuonAccEffSubmitter.cxx:880
 AliMuonAccEffSubmitter.cxx:881
 AliMuonAccEffSubmitter.cxx:882
 AliMuonAccEffSubmitter.cxx:883
 AliMuonAccEffSubmitter.cxx:884
 AliMuonAccEffSubmitter.cxx:885
 AliMuonAccEffSubmitter.cxx:886
 AliMuonAccEffSubmitter.cxx:887
 AliMuonAccEffSubmitter.cxx:888
 AliMuonAccEffSubmitter.cxx:889
 AliMuonAccEffSubmitter.cxx:890
 AliMuonAccEffSubmitter.cxx:891
 AliMuonAccEffSubmitter.cxx:892
 AliMuonAccEffSubmitter.cxx:893
 AliMuonAccEffSubmitter.cxx:894
 AliMuonAccEffSubmitter.cxx:895
 AliMuonAccEffSubmitter.cxx:896
 AliMuonAccEffSubmitter.cxx:897
 AliMuonAccEffSubmitter.cxx:898
 AliMuonAccEffSubmitter.cxx:899
 AliMuonAccEffSubmitter.cxx:900
 AliMuonAccEffSubmitter.cxx:901
 AliMuonAccEffSubmitter.cxx:902
 AliMuonAccEffSubmitter.cxx:903
 AliMuonAccEffSubmitter.cxx:904
 AliMuonAccEffSubmitter.cxx:905
 AliMuonAccEffSubmitter.cxx:906
 AliMuonAccEffSubmitter.cxx:907
 AliMuonAccEffSubmitter.cxx:908
 AliMuonAccEffSubmitter.cxx:909
 AliMuonAccEffSubmitter.cxx:910
 AliMuonAccEffSubmitter.cxx:911
 AliMuonAccEffSubmitter.cxx:912
 AliMuonAccEffSubmitter.cxx:913
 AliMuonAccEffSubmitter.cxx:914
 AliMuonAccEffSubmitter.cxx:915
 AliMuonAccEffSubmitter.cxx:916
 AliMuonAccEffSubmitter.cxx:917
 AliMuonAccEffSubmitter.cxx:918
 AliMuonAccEffSubmitter.cxx:919
 AliMuonAccEffSubmitter.cxx:920
 AliMuonAccEffSubmitter.cxx:921
 AliMuonAccEffSubmitter.cxx:922
 AliMuonAccEffSubmitter.cxx:923
 AliMuonAccEffSubmitter.cxx:924
 AliMuonAccEffSubmitter.cxx:925
 AliMuonAccEffSubmitter.cxx:926
 AliMuonAccEffSubmitter.cxx:927
 AliMuonAccEffSubmitter.cxx:928
 AliMuonAccEffSubmitter.cxx:929
 AliMuonAccEffSubmitter.cxx:930
 AliMuonAccEffSubmitter.cxx:931
 AliMuonAccEffSubmitter.cxx:932
 AliMuonAccEffSubmitter.cxx:933
 AliMuonAccEffSubmitter.cxx:934
 AliMuonAccEffSubmitter.cxx:935
 AliMuonAccEffSubmitter.cxx:936
 AliMuonAccEffSubmitter.cxx:937
 AliMuonAccEffSubmitter.cxx:938
 AliMuonAccEffSubmitter.cxx:939
 AliMuonAccEffSubmitter.cxx:940
 AliMuonAccEffSubmitter.cxx:941
 AliMuonAccEffSubmitter.cxx:942
 AliMuonAccEffSubmitter.cxx:943
 AliMuonAccEffSubmitter.cxx:944
 AliMuonAccEffSubmitter.cxx:945
 AliMuonAccEffSubmitter.cxx:946
 AliMuonAccEffSubmitter.cxx:947
 AliMuonAccEffSubmitter.cxx:948
 AliMuonAccEffSubmitter.cxx:949
 AliMuonAccEffSubmitter.cxx:950
 AliMuonAccEffSubmitter.cxx:951
 AliMuonAccEffSubmitter.cxx:952
 AliMuonAccEffSubmitter.cxx:953
 AliMuonAccEffSubmitter.cxx:954
 AliMuonAccEffSubmitter.cxx:955
 AliMuonAccEffSubmitter.cxx:956
 AliMuonAccEffSubmitter.cxx:957
 AliMuonAccEffSubmitter.cxx:958
 AliMuonAccEffSubmitter.cxx:959
 AliMuonAccEffSubmitter.cxx:960
 AliMuonAccEffSubmitter.cxx:961
 AliMuonAccEffSubmitter.cxx:962
 AliMuonAccEffSubmitter.cxx:963
 AliMuonAccEffSubmitter.cxx:964
 AliMuonAccEffSubmitter.cxx:965
 AliMuonAccEffSubmitter.cxx:966
 AliMuonAccEffSubmitter.cxx:967
 AliMuonAccEffSubmitter.cxx:968
 AliMuonAccEffSubmitter.cxx:969
 AliMuonAccEffSubmitter.cxx:970
 AliMuonAccEffSubmitter.cxx:971
 AliMuonAccEffSubmitter.cxx:972
 AliMuonAccEffSubmitter.cxx:973
 AliMuonAccEffSubmitter.cxx:974
 AliMuonAccEffSubmitter.cxx:975
 AliMuonAccEffSubmitter.cxx:976
 AliMuonAccEffSubmitter.cxx:977
 AliMuonAccEffSubmitter.cxx:978
 AliMuonAccEffSubmitter.cxx:979
 AliMuonAccEffSubmitter.cxx:980
 AliMuonAccEffSubmitter.cxx:981
 AliMuonAccEffSubmitter.cxx:982
 AliMuonAccEffSubmitter.cxx:983
 AliMuonAccEffSubmitter.cxx:984
 AliMuonAccEffSubmitter.cxx:985
 AliMuonAccEffSubmitter.cxx:986
 AliMuonAccEffSubmitter.cxx:987
 AliMuonAccEffSubmitter.cxx:988
 AliMuonAccEffSubmitter.cxx:989
 AliMuonAccEffSubmitter.cxx:990
 AliMuonAccEffSubmitter.cxx:991
 AliMuonAccEffSubmitter.cxx:992
 AliMuonAccEffSubmitter.cxx:993
 AliMuonAccEffSubmitter.cxx:994
 AliMuonAccEffSubmitter.cxx:995
 AliMuonAccEffSubmitter.cxx:996
 AliMuonAccEffSubmitter.cxx:997
 AliMuonAccEffSubmitter.cxx:998
 AliMuonAccEffSubmitter.cxx:999
 AliMuonAccEffSubmitter.cxx:1000
 AliMuonAccEffSubmitter.cxx:1001
 AliMuonAccEffSubmitter.cxx:1002
 AliMuonAccEffSubmitter.cxx:1003
 AliMuonAccEffSubmitter.cxx:1004
 AliMuonAccEffSubmitter.cxx:1005
 AliMuonAccEffSubmitter.cxx:1006
 AliMuonAccEffSubmitter.cxx:1007
 AliMuonAccEffSubmitter.cxx:1008
 AliMuonAccEffSubmitter.cxx:1009
 AliMuonAccEffSubmitter.cxx:1010
 AliMuonAccEffSubmitter.cxx:1011
 AliMuonAccEffSubmitter.cxx:1012
 AliMuonAccEffSubmitter.cxx:1013
 AliMuonAccEffSubmitter.cxx:1014
 AliMuonAccEffSubmitter.cxx:1015
 AliMuonAccEffSubmitter.cxx:1016
 AliMuonAccEffSubmitter.cxx:1017
 AliMuonAccEffSubmitter.cxx:1018
 AliMuonAccEffSubmitter.cxx:1019
 AliMuonAccEffSubmitter.cxx:1020
 AliMuonAccEffSubmitter.cxx:1021
 AliMuonAccEffSubmitter.cxx:1022
 AliMuonAccEffSubmitter.cxx:1023
 AliMuonAccEffSubmitter.cxx:1024
 AliMuonAccEffSubmitter.cxx:1025
 AliMuonAccEffSubmitter.cxx:1026
 AliMuonAccEffSubmitter.cxx:1027
 AliMuonAccEffSubmitter.cxx:1028
 AliMuonAccEffSubmitter.cxx:1029
 AliMuonAccEffSubmitter.cxx:1030
 AliMuonAccEffSubmitter.cxx:1031
 AliMuonAccEffSubmitter.cxx:1032
 AliMuonAccEffSubmitter.cxx:1033
 AliMuonAccEffSubmitter.cxx:1034
 AliMuonAccEffSubmitter.cxx:1035
 AliMuonAccEffSubmitter.cxx:1036
 AliMuonAccEffSubmitter.cxx:1037
 AliMuonAccEffSubmitter.cxx:1038
 AliMuonAccEffSubmitter.cxx:1039
 AliMuonAccEffSubmitter.cxx:1040
 AliMuonAccEffSubmitter.cxx:1041
 AliMuonAccEffSubmitter.cxx:1042
 AliMuonAccEffSubmitter.cxx:1043
 AliMuonAccEffSubmitter.cxx:1044
 AliMuonAccEffSubmitter.cxx:1045
 AliMuonAccEffSubmitter.cxx:1046
 AliMuonAccEffSubmitter.cxx:1047
 AliMuonAccEffSubmitter.cxx:1048
 AliMuonAccEffSubmitter.cxx:1049
 AliMuonAccEffSubmitter.cxx:1050
 AliMuonAccEffSubmitter.cxx:1051
 AliMuonAccEffSubmitter.cxx:1052
 AliMuonAccEffSubmitter.cxx:1053
 AliMuonAccEffSubmitter.cxx:1054
 AliMuonAccEffSubmitter.cxx:1055
 AliMuonAccEffSubmitter.cxx:1056
 AliMuonAccEffSubmitter.cxx:1057
 AliMuonAccEffSubmitter.cxx:1058
 AliMuonAccEffSubmitter.cxx:1059
 AliMuonAccEffSubmitter.cxx:1060
 AliMuonAccEffSubmitter.cxx:1061
 AliMuonAccEffSubmitter.cxx:1062
 AliMuonAccEffSubmitter.cxx:1063
 AliMuonAccEffSubmitter.cxx:1064
 AliMuonAccEffSubmitter.cxx:1065
 AliMuonAccEffSubmitter.cxx:1066
 AliMuonAccEffSubmitter.cxx:1067
 AliMuonAccEffSubmitter.cxx:1068
 AliMuonAccEffSubmitter.cxx:1069
 AliMuonAccEffSubmitter.cxx:1070
 AliMuonAccEffSubmitter.cxx:1071
 AliMuonAccEffSubmitter.cxx:1072
 AliMuonAccEffSubmitter.cxx:1073
 AliMuonAccEffSubmitter.cxx:1074
 AliMuonAccEffSubmitter.cxx:1075
 AliMuonAccEffSubmitter.cxx:1076
 AliMuonAccEffSubmitter.cxx:1077
 AliMuonAccEffSubmitter.cxx:1078
 AliMuonAccEffSubmitter.cxx:1079
 AliMuonAccEffSubmitter.cxx:1080
 AliMuonAccEffSubmitter.cxx:1081
 AliMuonAccEffSubmitter.cxx:1082
 AliMuonAccEffSubmitter.cxx:1083
 AliMuonAccEffSubmitter.cxx:1084
 AliMuonAccEffSubmitter.cxx:1085
 AliMuonAccEffSubmitter.cxx:1086
 AliMuonAccEffSubmitter.cxx:1087
 AliMuonAccEffSubmitter.cxx:1088
 AliMuonAccEffSubmitter.cxx:1089
 AliMuonAccEffSubmitter.cxx:1090
 AliMuonAccEffSubmitter.cxx:1091
 AliMuonAccEffSubmitter.cxx:1092
 AliMuonAccEffSubmitter.cxx:1093
 AliMuonAccEffSubmitter.cxx:1094
 AliMuonAccEffSubmitter.cxx:1095
 AliMuonAccEffSubmitter.cxx:1096
 AliMuonAccEffSubmitter.cxx:1097
 AliMuonAccEffSubmitter.cxx:1098
 AliMuonAccEffSubmitter.cxx:1099
 AliMuonAccEffSubmitter.cxx:1100
 AliMuonAccEffSubmitter.cxx:1101
 AliMuonAccEffSubmitter.cxx:1102
 AliMuonAccEffSubmitter.cxx:1103
 AliMuonAccEffSubmitter.cxx:1104
 AliMuonAccEffSubmitter.cxx:1105
 AliMuonAccEffSubmitter.cxx:1106
 AliMuonAccEffSubmitter.cxx:1107
 AliMuonAccEffSubmitter.cxx:1108
 AliMuonAccEffSubmitter.cxx:1109
 AliMuonAccEffSubmitter.cxx:1110
 AliMuonAccEffSubmitter.cxx:1111
 AliMuonAccEffSubmitter.cxx:1112
 AliMuonAccEffSubmitter.cxx:1113
 AliMuonAccEffSubmitter.cxx:1114
 AliMuonAccEffSubmitter.cxx:1115
 AliMuonAccEffSubmitter.cxx:1116
 AliMuonAccEffSubmitter.cxx:1117
 AliMuonAccEffSubmitter.cxx:1118
 AliMuonAccEffSubmitter.cxx:1119
 AliMuonAccEffSubmitter.cxx:1120
 AliMuonAccEffSubmitter.cxx:1121
 AliMuonAccEffSubmitter.cxx:1122
 AliMuonAccEffSubmitter.cxx:1123
 AliMuonAccEffSubmitter.cxx:1124
 AliMuonAccEffSubmitter.cxx:1125
 AliMuonAccEffSubmitter.cxx:1126
 AliMuonAccEffSubmitter.cxx:1127
 AliMuonAccEffSubmitter.cxx:1128
 AliMuonAccEffSubmitter.cxx:1129
 AliMuonAccEffSubmitter.cxx:1130
 AliMuonAccEffSubmitter.cxx:1131
 AliMuonAccEffSubmitter.cxx:1132
 AliMuonAccEffSubmitter.cxx:1133
 AliMuonAccEffSubmitter.cxx:1134
 AliMuonAccEffSubmitter.cxx:1135
 AliMuonAccEffSubmitter.cxx:1136
 AliMuonAccEffSubmitter.cxx:1137
 AliMuonAccEffSubmitter.cxx:1138
 AliMuonAccEffSubmitter.cxx:1139
 AliMuonAccEffSubmitter.cxx:1140
 AliMuonAccEffSubmitter.cxx:1141
 AliMuonAccEffSubmitter.cxx:1142
 AliMuonAccEffSubmitter.cxx:1143
 AliMuonAccEffSubmitter.cxx:1144
 AliMuonAccEffSubmitter.cxx:1145
 AliMuonAccEffSubmitter.cxx:1146
 AliMuonAccEffSubmitter.cxx:1147
 AliMuonAccEffSubmitter.cxx:1148
 AliMuonAccEffSubmitter.cxx:1149
 AliMuonAccEffSubmitter.cxx:1150
 AliMuonAccEffSubmitter.cxx:1151
 AliMuonAccEffSubmitter.cxx:1152
 AliMuonAccEffSubmitter.cxx:1153
 AliMuonAccEffSubmitter.cxx:1154
 AliMuonAccEffSubmitter.cxx:1155
 AliMuonAccEffSubmitter.cxx:1156
 AliMuonAccEffSubmitter.cxx:1157
 AliMuonAccEffSubmitter.cxx:1158
 AliMuonAccEffSubmitter.cxx:1159
 AliMuonAccEffSubmitter.cxx:1160
 AliMuonAccEffSubmitter.cxx:1161
 AliMuonAccEffSubmitter.cxx:1162
 AliMuonAccEffSubmitter.cxx:1163
 AliMuonAccEffSubmitter.cxx:1164
 AliMuonAccEffSubmitter.cxx:1165
 AliMuonAccEffSubmitter.cxx:1166
 AliMuonAccEffSubmitter.cxx:1167
 AliMuonAccEffSubmitter.cxx:1168
 AliMuonAccEffSubmitter.cxx:1169
 AliMuonAccEffSubmitter.cxx:1170
 AliMuonAccEffSubmitter.cxx:1171
 AliMuonAccEffSubmitter.cxx:1172
 AliMuonAccEffSubmitter.cxx:1173
 AliMuonAccEffSubmitter.cxx:1174
 AliMuonAccEffSubmitter.cxx:1175
 AliMuonAccEffSubmitter.cxx:1176
 AliMuonAccEffSubmitter.cxx:1177
 AliMuonAccEffSubmitter.cxx:1178
 AliMuonAccEffSubmitter.cxx:1179
 AliMuonAccEffSubmitter.cxx:1180
 AliMuonAccEffSubmitter.cxx:1181
 AliMuonAccEffSubmitter.cxx:1182
 AliMuonAccEffSubmitter.cxx:1183
 AliMuonAccEffSubmitter.cxx:1184
 AliMuonAccEffSubmitter.cxx:1185
 AliMuonAccEffSubmitter.cxx:1186
 AliMuonAccEffSubmitter.cxx:1187
 AliMuonAccEffSubmitter.cxx:1188
 AliMuonAccEffSubmitter.cxx:1189
 AliMuonAccEffSubmitter.cxx:1190
 AliMuonAccEffSubmitter.cxx:1191
 AliMuonAccEffSubmitter.cxx:1192
 AliMuonAccEffSubmitter.cxx:1193
 AliMuonAccEffSubmitter.cxx:1194
 AliMuonAccEffSubmitter.cxx:1195
 AliMuonAccEffSubmitter.cxx:1196
 AliMuonAccEffSubmitter.cxx:1197
 AliMuonAccEffSubmitter.cxx:1198
 AliMuonAccEffSubmitter.cxx:1199
 AliMuonAccEffSubmitter.cxx:1200
 AliMuonAccEffSubmitter.cxx:1201
 AliMuonAccEffSubmitter.cxx:1202
 AliMuonAccEffSubmitter.cxx:1203
 AliMuonAccEffSubmitter.cxx:1204
 AliMuonAccEffSubmitter.cxx:1205
 AliMuonAccEffSubmitter.cxx:1206
 AliMuonAccEffSubmitter.cxx:1207
 AliMuonAccEffSubmitter.cxx:1208
 AliMuonAccEffSubmitter.cxx:1209
 AliMuonAccEffSubmitter.cxx:1210
 AliMuonAccEffSubmitter.cxx:1211
 AliMuonAccEffSubmitter.cxx:1212
 AliMuonAccEffSubmitter.cxx:1213
 AliMuonAccEffSubmitter.cxx:1214
 AliMuonAccEffSubmitter.cxx:1215
 AliMuonAccEffSubmitter.cxx:1216
 AliMuonAccEffSubmitter.cxx:1217
 AliMuonAccEffSubmitter.cxx:1218
 AliMuonAccEffSubmitter.cxx:1219
 AliMuonAccEffSubmitter.cxx:1220
 AliMuonAccEffSubmitter.cxx:1221
 AliMuonAccEffSubmitter.cxx:1222
 AliMuonAccEffSubmitter.cxx:1223
 AliMuonAccEffSubmitter.cxx:1224
 AliMuonAccEffSubmitter.cxx:1225
 AliMuonAccEffSubmitter.cxx:1226
 AliMuonAccEffSubmitter.cxx:1227
 AliMuonAccEffSubmitter.cxx:1228
 AliMuonAccEffSubmitter.cxx:1229
 AliMuonAccEffSubmitter.cxx:1230
 AliMuonAccEffSubmitter.cxx:1231
 AliMuonAccEffSubmitter.cxx:1232
 AliMuonAccEffSubmitter.cxx:1233
 AliMuonAccEffSubmitter.cxx:1234
 AliMuonAccEffSubmitter.cxx:1235
 AliMuonAccEffSubmitter.cxx:1236
 AliMuonAccEffSubmitter.cxx:1237
 AliMuonAccEffSubmitter.cxx:1238
 AliMuonAccEffSubmitter.cxx:1239
 AliMuonAccEffSubmitter.cxx:1240
 AliMuonAccEffSubmitter.cxx:1241
 AliMuonAccEffSubmitter.cxx:1242
 AliMuonAccEffSubmitter.cxx:1243
 AliMuonAccEffSubmitter.cxx:1244
 AliMuonAccEffSubmitter.cxx:1245
 AliMuonAccEffSubmitter.cxx:1246
 AliMuonAccEffSubmitter.cxx:1247
 AliMuonAccEffSubmitter.cxx:1248
 AliMuonAccEffSubmitter.cxx:1249
 AliMuonAccEffSubmitter.cxx:1250
 AliMuonAccEffSubmitter.cxx:1251
 AliMuonAccEffSubmitter.cxx:1252
 AliMuonAccEffSubmitter.cxx:1253
 AliMuonAccEffSubmitter.cxx:1254
 AliMuonAccEffSubmitter.cxx:1255
 AliMuonAccEffSubmitter.cxx:1256
 AliMuonAccEffSubmitter.cxx:1257
 AliMuonAccEffSubmitter.cxx:1258
 AliMuonAccEffSubmitter.cxx:1259
 AliMuonAccEffSubmitter.cxx:1260
 AliMuonAccEffSubmitter.cxx:1261
 AliMuonAccEffSubmitter.cxx:1262
 AliMuonAccEffSubmitter.cxx:1263
 AliMuonAccEffSubmitter.cxx:1264
 AliMuonAccEffSubmitter.cxx:1265
 AliMuonAccEffSubmitter.cxx:1266
 AliMuonAccEffSubmitter.cxx:1267
 AliMuonAccEffSubmitter.cxx:1268
 AliMuonAccEffSubmitter.cxx:1269
 AliMuonAccEffSubmitter.cxx:1270
 AliMuonAccEffSubmitter.cxx:1271
 AliMuonAccEffSubmitter.cxx:1272
 AliMuonAccEffSubmitter.cxx:1273
 AliMuonAccEffSubmitter.cxx:1274
 AliMuonAccEffSubmitter.cxx:1275
 AliMuonAccEffSubmitter.cxx:1276
 AliMuonAccEffSubmitter.cxx:1277
 AliMuonAccEffSubmitter.cxx:1278
 AliMuonAccEffSubmitter.cxx:1279
 AliMuonAccEffSubmitter.cxx:1280
 AliMuonAccEffSubmitter.cxx:1281
 AliMuonAccEffSubmitter.cxx:1282
 AliMuonAccEffSubmitter.cxx:1283
 AliMuonAccEffSubmitter.cxx:1284
 AliMuonAccEffSubmitter.cxx:1285
 AliMuonAccEffSubmitter.cxx:1286
 AliMuonAccEffSubmitter.cxx:1287
 AliMuonAccEffSubmitter.cxx:1288
 AliMuonAccEffSubmitter.cxx:1289
 AliMuonAccEffSubmitter.cxx:1290
 AliMuonAccEffSubmitter.cxx:1291
 AliMuonAccEffSubmitter.cxx:1292
 AliMuonAccEffSubmitter.cxx:1293
 AliMuonAccEffSubmitter.cxx:1294
 AliMuonAccEffSubmitter.cxx:1295
 AliMuonAccEffSubmitter.cxx:1296
 AliMuonAccEffSubmitter.cxx:1297
 AliMuonAccEffSubmitter.cxx:1298
 AliMuonAccEffSubmitter.cxx:1299
 AliMuonAccEffSubmitter.cxx:1300
 AliMuonAccEffSubmitter.cxx:1301
 AliMuonAccEffSubmitter.cxx:1302
 AliMuonAccEffSubmitter.cxx:1303
 AliMuonAccEffSubmitter.cxx:1304
 AliMuonAccEffSubmitter.cxx:1305