ROOT logo
AliRoot » PWG » MUONDEP » AliMuonAccEffSubmitter

class AliMuonAccEffSubmitter: public AliMuonGridSubmitter

Function Members (Methods)

public:
AliMuonAccEffSubmitter(const char* generator = "GenParamCustom", Bool_t localOnly = kFALSE, const char* generatorVersion = "8125")
virtual~AliMuonAccEffSubmitter()
voidTObject::AbstractMethod(const char* method) const
voidAliMuonGridSubmitter::AddIncludePath(const char* pathList) const
voidAliMuonGridSubmitter::AddToLocalFileList(const char* filename)
voidAliMuonGridSubmitter::AddToTemplateFileList(const char* filename)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Bool_tAliMuonGridSubmitter::CheckCompilation(const char* file) const
Bool_tAliMuonGridSubmitter::CheckLocal() const
Bool_tAliMuonGridSubmitter::CheckRemote() const
Bool_tAliMuonGridSubmitter::CheckRemoteDir() const
static TClass*Class()
virtual const char*TObject::ClassName() const
voidAliMuonGridSubmitter::CleanLocal(const char* excludeList = "") const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
Int_tCompactMode() const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Bool_tAliMuonGridSubmitter::CopyFile(const char* localFile)
Bool_tAliMuonGridSubmitter::CopyLocalFilesToRemote()
Bool_tAliMuonGridSubmitter::CopyLocalFilesToRemote(const TObjArray& localFiles)
Bool_tAliMuonGridSubmitter::CopyTemplateFilesToLocal()
ostream*AliMuonGridSubmitter::CreateJDLFile(const char* name) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
TStringAliMuonGridSubmitter::FilePath(const char* what) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Bool_tGenerate(const char* jdlname) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Int_tAliMuonGridSubmitter::GetLastStage(const char* remoteDir)
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TStringAliMuonGridSubmitter::GetRemoteDir(const char* dir, Bool_t create = kTRUE)
Int_tGetSplitMaxInputFileNumber() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
TStringAliMuonGridSubmitter::GetVar(const char* key) const
TObjArray*AliMuonGridSubmitter::GetVariables(const char* file) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Bool_tAliMuonGridSubmitter::HasVars(const char* localFile) const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidAliMuonGridSubmitter::Invalidate()
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tAliMuonGridSubmitter::IsValid() const
Bool_tTObject::IsZombie() const
TStringAliMuonGridSubmitter::JobTypeName(AliMuonGridSubmitter::EJobType jobType) const
TStringAliMuonGridSubmitter::LocalDir() const
TObjArray*AliMuonGridSubmitter::LocalFileList() const
Int_tLocalTest()
virtual voidTObject::ls(Option_t* option = "") const
voidMakeNofEventsFixed(Int_t nevents)
voidMakeNofEventsPropToTriggerCount(const char* trigger = "CMUL7-B-NOPF-MUON", Float_t ratio = 1.0)
Bool_tMakeOCDBSnapshots()
Int_tMaxEventsPerChunk() const
voidTObject::MayNotUse(const char* method) const
Bool_tMerge(Int_t stage, Bool_t dryRun = kTRUE)
TStringAliMuonGridSubmitter::MergedDir() const
TStringMergeJDLName(Bool_t final) const
UInt_tAliMuonGridSubmitter::NofRuns() const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
TStringOCDBPath() const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
voidAliMuonGridSubmitter::OutputToJDL(ostream& out, const char* key, const TObjArray& values) const
voidAliMuonGridSubmitter::OutputToJDL(ostream& out, const char* key, const char* v1, const char* v2 = "", const char* v3 = "", const char* v4 = "", const char* v5 = "", const char* v6 = "", const char* v7 = "", const char* v8 = "", const char* v9 = "") const
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
TStringAliMuonGridSubmitter::RemoteDir() const
Bool_tAliMuonGridSubmitter::RemoteDirectoryExists(const char* dirname) const
Bool_tAliMuonGridSubmitter::RemoteFileExists(const char* lfn)
Bool_tAliMuonGridSubmitter::ReplaceVars(const char* file) const
voidTObject::ResetBit(UInt_t f)
virtual Bool_tRun(const char* mode)
TStringRunJDLName() const
const vector<Int_t>&AliMuonGridSubmitter::RunList() const
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCompactMode(Int_t mode)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
Bool_tSetGenerator(const char* generator)
Bool_tAliMuonGridSubmitter::SetLocalDir(const char* localdir)
voidSetMaxEventsPerChunk(Int_t n)
Bool_tAliMuonGridSubmitter::SetMergedDir(const char* dir)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOCDBPath(const char* ocdbPath)
voidSetOCDBSnapshotDir(const char* dir)
voidAliMuonGridSubmitter::SetPackages(const char* aliroot, const char* root = "", const char* geant3 = "", const char* api = "VO_ALICE@APISCONFIG::V1.1x")
Bool_tAliMuonGridSubmitter::SetRemoteDir(const char* dir)
voidAliMuonGridSubmitter::SetRunList(const char* runlist)
voidAliMuonGridSubmitter::SetRunList(int runNumber)
voidSetSplitMaxInputFileNumber(Int_t n)
Bool_tAliMuonGridSubmitter::SetTemplateDir(const char* templatedir)
virtual voidTObject::SetUniqueID(UInt_t uid)
Bool_tAliMuonGridSubmitter::SetVar(const char* varname, const char* value)
Bool_tAliMuonGridSubmitter::ShouldOverwriteFiles() const
voidAliMuonGridSubmitter::ShouldOverwriteFiles(Bool_t flag)
virtual voidShowMembers(TMemberInspector&)
TStringSnapshotDir() const
Int_tSplitRunList(const char* inputList, int maxJobs = 1500)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
Int_tSubmit(Bool_t dryRun = kTRUE)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
TStringAliMuonGridSubmitter::TemplateDir() const
TObjArray*AliMuonGridSubmitter::TemplateFileList() const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUseAODMerging(Bool_t flag)
virtual voidTObject::UseCurrentStyle()
voidUseExternalConfig(const char* externalConfigFullFilePath)
voidUseOCDBSnapshots(Bool_t flag)
voidAliMuonGridSubmitter::Validate()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
ostream*AliMuonGridSubmitter::CreateJDLFile(const char* name)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
TStringAliMuonGridSubmitter::GetMapValue(const char* key) const
TMap*AliMuonGridSubmitter::InternalMap() const
voidTObject::MakeZombie()
TObjArray*AliMuonGridSubmitter::OrderKeys(const TMap& map) const
Bool_tAliMuonGridSubmitter::SetLocalDirectory(const char* type, const char* path)
voidAliMuonGridSubmitter::SetMapKeyValue(const char* key, const char* value)
Bool_tAliMuonGridSubmitter::SetRemoteDirectory(const char* type, const char* path)
TMap*AliMuonGridSubmitter::Vars() const
private:
AliMuonAccEffSubmitter(const AliMuonAccEffSubmitter& rhs)
Bool_tGenerateMergeJDL(const char* name) const
Bool_tGenerateRunJDL(const char* name) const
AliMuonAccEffSubmitter&operator=(const AliMuonAccEffSubmitter& rhs)
TStringReferenceTrigger() const
voidUpdateLocalFileList(Bool_t clearSnapshots = kFALSE)

Data Members

public:
enum AliMuonGridSubmitter::EJobType { kAccEff
kQAMerge
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
Int_tfCompactModecontrols which outputs are kept (0=everything, 1=only aods)
TStringfExternalConfigpath to an (optional) external config file
Int_tfFixedNofEventsfixed number of events to be used per run
Int_tfMaxEventsPerChunkmax events to generate per subjob
TStringfOCDBPathOCDB path
Float_tfRatioratio simulated events vs real events
TStringfSnapshotDirdirectory for OCDB snapshots
Int_tfSplitMaxInputFileNumberused for merging jdl
Bool_tfUseAODMergingwhether or not to perform (aod) merging
Bool_tfUseOCDBSnapshotswhether to use OCDB snapshots or not

Class Charts

Inheritance Chart:
TObject
AliMuonGridSubmitter
AliMuonAccEffSubmitter

Function documentation

AliMuonAccEffSubmitter(const char* generator = "GenParamCustom", Bool_t localOnly = kFALSE, const char* generatorVersion = "8125")
 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

~AliMuonAccEffSubmitter()
 dtor
Bool_t Generate(const char* jdlname) const
Bool_t GenerateMergeJDL(const char* name) const
 Create the JDL for merging jobs
 FIXME: not checked !
Bool_t 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)
Bool_t 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
Bool_t Merge(Int_t stage, Bool_t dryRun = kTRUE)
 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

void Print(Option_t* opt = "") const
 Printout
Bool_t 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)
Bool_t SetGenerator(const char* generator)
 set the variable to select the generator macro in Config.C
void SetOCDBPath(const char* ocdbPath)
 Sets the OCDB path to be used
void SetOCDBSnapshotDir(const char* dir)
 change the directory used for snapshot
void MakeNofEventsPropToTriggerCount(const char* trigger = "CMUL7-B-NOPF-MUON", Float_t ratio = 1.0)
void MakeNofEventsFixed(Int_t nevents)
Int_t 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)
Int_t SplitRunList(const char* inputList, int maxJobs = 1500)
 In order to be able to submit, split a given runlist into chunks that will
 fit within maxJobs (1500 for a typical user)
Int_t Submit(Bool_t dryRun = kTRUE)
 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
void UpdateLocalFileList(Bool_t clearSnapshots = kFALSE)
 Update the list of local files
void 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...
void UseAODMerging(Bool_t flag)
 whether or not we should generate JDL for merging AODs
void UseExternalConfig(const char* externalConfigFullFilePath)
 use an external config (or the default Config.C if externalConfigFullFilePath="")
AliMuonAccEffSubmitter(const char* generator = "GenParamCustom", Bool_t localOnly = kFALSE, const char* generatorVersion = "8125")
TString RunJDLName() const
{ return "run.jdl"; }
TString MergeJDLName(Bool_t final) const
{ return (final ? "AOD_merge_final.jdl" : "AOD_merge.jdl"); }
void SetSplitMaxInputFileNumber(Int_t n)
Int_t GetSplitMaxInputFileNumber() const
Int_t CompactMode() const
{ return fCompactMode; }
void SetCompactMode(Int_t mode)
{ fCompactMode=mode; }
Int_t MaxEventsPerChunk() const
{ return fMaxEventsPerChunk; }
void SetMaxEventsPerChunk(Int_t n)
TString OCDBPath() const
{ return GetMapValue("OCDBPath"); }
TString SnapshotDir() const
{ return GetMapValue("OCDBsnapshot"); }
TString ReferenceTrigger() const
{ return GetMapValue("ReferenceTrigger"); }
AliMuonAccEffSubmitter& operator=(const AliMuonAccEffSubmitter& rhs)