ATLAS Offline Software
Loading...
Searching...
No Matches
python.TrigValSteering.CheckSteps.RootMergeStep Class Reference
Inheritance diagram for python.TrigValSteering.CheckSteps.RootMergeStep:
Collaboration diagram for python.TrigValSteering.CheckSteps.RootMergeStep:

Public Member Functions

 __init__ (self, name='RootMerge')
 configure (self, test=None)
 run (self, dry_run=False)

Public Attributes

 input_file = None
 merged_file = None
 rename_suffix = None
str executable = 'hadd'
 name
int result = 1

Detailed Description

Merge root files with hadd. Parameters are:
input_file - file(s) to be merged
merged_file - output file name
rename_suffix - if merged_file exists, it is renamed by adding this suffix

Definition at line 189 of file CheckSteps.py.

Constructor & Destructor Documentation

◆ __init__()

python.TrigValSteering.CheckSteps.RootMergeStep.__init__ ( self,
name = 'RootMerge' )

Definition at line 197 of file CheckSteps.py.

197 def __init__(self, name='RootMerge'):
198 super(RootMergeStep, self).__init__(name)
199 self.input_file = None
200 self.merged_file = None
201 self.rename_suffix = None
202 self.executable = 'hadd'
203

Member Function Documentation

◆ configure()

python.TrigValSteering.CheckSteps.RootMergeStep.configure ( self,
test = None )

Definition at line 204 of file CheckSteps.py.

204 def configure(self, test=None):
205 self.args += ' ' + self.merged_file + ' ' + self.input_file
206 super(RootMergeStep, self).configure(test)
207
bool configure(asg::AnaToolHandle< ITrigGlobalEfficiencyCorrectionTool > &tool, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronEffToolsHandles, ToolHandleArray< IAsgElectronEfficiencyCorrectionTool > &electronSFToolsHandles, ToolHandleArray< CP::IMuonTriggerScaleFactors > &muonToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonEffToolsHandles, ToolHandleArray< IAsgPhotonEfficiencyCorrectionTool > &photonSFToolsHandles, const std::string &triggers, const std::map< std::string, std::string > &legsPerTool, unsigned long nToys, bool debug)

◆ run()

python.TrigValSteering.CheckSteps.RootMergeStep.run ( self,
dry_run = False )

Definition at line 208 of file CheckSteps.py.

208 def run(self, dry_run=False):
209 file_list_to_check = self.input_file.split()
210 if os.path.isfile(self.merged_file) and self.rename_suffix:
211 old_name = os.path.splitext(self.merged_file)
212 new_name = old_name[0] + self.rename_suffix + old_name[1]
213 self.executable = 'mv {} {}; {}'.format(self.merged_file, new_name, self.executable)
214 if new_name in file_list_to_check:
215 file_list_to_check.remove(new_name)
216 file_list_to_check.append(self.merged_file)
217 self.log.debug('%s checking if the input files exist: %s', self.name, str(file_list_to_check))
218 if not dry_run:
219 for file_name in file_list_to_check:
220 if len(glob.glob(file_name)) < 1:
221 self.log.warning('%s: file %s requested to be merged but does not exist', self.name, file_name)
222 self.result = 1
223 return self.result, '# (internal) {} in={} out={} -> failed'.format(self.name, self.input_file, self.merged_file)
224 return super(RootMergeStep, self).run(dry_run)
225
226
const bool debug
std::vector< std::string > split(const std::string &s, const std::string &t=":")
Definition hcg.cxx:177
Definition run.py:1

Member Data Documentation

◆ executable

str python.TrigValSteering.CheckSteps.RootMergeStep.executable = 'hadd'

Definition at line 202 of file CheckSteps.py.

◆ input_file

python.TrigValSteering.CheckSteps.RootMergeStep.input_file = None

Definition at line 199 of file CheckSteps.py.

◆ merged_file

python.TrigValSteering.CheckSteps.RootMergeStep.merged_file = None

Definition at line 200 of file CheckSteps.py.

◆ name

python.TrigValSteering.CheckSteps.RootMergeStep.name

Definition at line 217 of file CheckSteps.py.

◆ rename_suffix

python.TrigValSteering.CheckSteps.RootMergeStep.rename_suffix = None

Definition at line 201 of file CheckSteps.py.

◆ result

python.TrigValSteering.CheckSteps.RootMergeStep.result = 1

Definition at line 222 of file CheckSteps.py.


The documentation for this class was generated from the following file: