MetaData Wrapper¶
- class MetaData¶
This is a class which wraps the output of
PyAmiwhen performing a meta-data search on the input samples. To use this wrapper effectively, you need to authenticate using thevoms-proxy-initcommand. Luckily, the framework comes with a pre-built script, which does this for you, simply enterauth_pyamiinto the terminal and it will ask for theuserkey/usercert.pemdirectories, followed by a password prompt. If the user is not authenticated, this step is skipped and the framework will attempt to inspect the sample’s available meta-data.- Parameters:
file (str) – The input path of the file.
scan_ami (bool) – A switch which enables/disables the meta scanning.
sampletype (str) – An option which narrows down the DAOD sample search to a specific group.
- IndexToSample(int index) str¶
- ProcessKeys(dict val) None¶
- Trees -> list
Expects a list of strings pointing to the trees to be read.
- Branches -> list
Expects a list of strings pointing to the branches to be read.
- Leaves -> list
Expects a list of strings pointing to any leaves to be read.
- original_input -> str
Returns the original file name, i.e. file.
- dsid -> int
Returns the dsid of the data set matched to this ROOT file.
- amitag -> str
Returns the amitag of the same being used, this can be retrieved within the sample’s metadata.
- generators -> str
Returns the generator which produced this sample.
- isMC -> bool
Returns a boolean to indicate whether the sample is Monte Carlo
- derivationFormat -> str
- eventNumber -> int
- ecmEnergy -> float
- genFiltEff -> float
- completion -> float
- beam_energy -> float
- crossSection -> float
- crossSection_mean -> float
- totalSize -> float
Returns the total file size (memory)
- nFiles -> int
Returns the number of files within this sample set
- run_number -> int
- totalEvents -> int
- datasetNumber -> int
- identifier -> str
- prodsysStatus -> str
- dataType -> str
- version -> str
- PDF -> str
- AtlasRelease -> str
- principalPhysicsGroup -> str
- physicsShort -> str
- generatorName -> str
- geometryVersion -> str
- conditionsTag -> str
- generatorTune -> str
- amiStatus -> str
- beamType -> str
- productionStep -> str
- projectName -> str
- statsAlgorithm -> str
- genFilterNames -> str
- file_type -> str
- DatasetName -> str
- event_index -> int
- original_name -> str
- original_path -> str
- hash -> str
- keywords -> list
- weights -> list
- keyword -> list
- found -> bool
- config -> dict
- GetLengthTrees -> dict
- MissingTrees -> list
- MissingBranches -> list
- MissingLeaves -> list
- DAODList -> list
- Files -> dict
- DAOD -> str
- fileGUID -> dict
- events -> dict
- fileSize -> dict
- sample_name -> str
- logicalDatasetName -> str
UpROOT wrapper¶
- class UpROOT¶
This class is predominantly designed to be interfaced with core modules in the framework. However, it can be used as a completely standalone module with minimal configuration. Part of this module is the so called MetaData object. This class contains additional information about the input ROOT samples if
PyAMIis enabled. IfPyAMIis not installed or authenticated to, then it will try to scrape the ROOT files for additional meta data.- Parameters:
ROOTFiles (Union[list, dict, str, None]) – Input samples
EventGenerator (Union[None, EventGenerator]) – A switch which enables/disables the meta scanning.
- Verbose -> int
Changes the verbosity of the key scannig and sample detection.
- StepSize -> int
Changes the cache step size within uproot.
- Threads -> int
Sets the number of threads to utilize during the scanning process.
- Trees -> list
Trees to retrieve from the ROOT sample.
- Branches -> list
Branches to retrieve and match for the given trees.
- Leaves -> list
Leaves to retrieve and match for the given trees and branches.
- Files -> dict
- EnablePyAMI -> bool
Enable or disable MetaData.
- ScanKeys()¶
A function which scans the keys within the sample recursively and matches them with the input values.
- InputSamples(input)¶
This function will scan the given input for ROOT files. If the input is a string containing the .root extension, then only that file will be used, otherwise it will assume the input is a directory and scan it for possible ROOT files. For lists, the function will assume these to be .root files and never directories. If the input is a dictionary, then the keys can be interpreted as being directories, with values being either lists of ROOT files to read, or single ROOT file strings.
- Parameters:
input (Union[str, Dict, List]) – The input samples to use.