Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:10:58

0001 #!/usr/bin/env ruby
0002 # -----------------------------------------------------------------------------
0003 # 'copy-to-analysis.rb'
0004 # Derek Anderson
0005 # 12.21.2023
0006 #
0007 # Script to automate copying files over to
0008 # a fork of the sPHENIX analysis repo.
0009 # -----------------------------------------------------------------------------
0010 
0011 # modules to use
0012 require 'fileutils'
0013 
0014 # top directory to copy from/to
0015 copy_from = "/sphenix/user/danderson/tracking/TrackCutStudy"
0016 copy_to   = "/sphenix/user/danderson/sphenix/analysis/AndersonAnalysisModules/TrackStudies/STrackCutStudy"
0017 
0018 # what files to copy
0019 to_copy = [
0020   "README.md",
0021   "DoTrackCutStudy.C",
0022   "DoFastTrackCutStudy.C",
0023   "DoFastTrackCutStudy.sh",
0024   "DoTrackCutStudyOnCondor.sh",
0025   "DoTrackCutStudyOnCondor.job",
0026   "SubmitTrackCutStudy.sh",
0027   "macros/QuickTuplePlotter.C",
0028   "macros/Fun4All_G4_sPHENIX_ForTrackCutStudy_EmbedScanOff.C",
0029   "macros/Fun4All_G4_sPHENIX_ForTrackCutStudy_EmbedScanOn.C",
0030   "macros/Fun4All_G4_sPHENIX_ForTrackCutStudy_WithPileup_EmbedScanOn.C",
0031   "macros/Fun4All_G4_sPHENIX_ForTrackCutStudy_WithPileup_EmbedScanOff.C",
0032   "macros/G4Setup_sPHENIX.C",
0033   "macros/MergeFiles.C",
0034   "scripts/MergeFiles.rb",
0035   "scripts/MergeCondorFiles.rb",
0036   "scripts/MergeFilesFromList.rb",
0037   "scripts/RunCreateFileList.sh",
0038   "scripts/RunSingleTrackCutStudyG4.sh",
0039   "scripts/RunSingleTrackCutStudyWithPileupG4.sh",
0040   "scripts/RunTrackCutStudyG4.job",
0041   "scripts/RunTrackCutStudyG4.sh",
0042   "scripts/RunTrackCutStudyWithPileupG4.job",
0043   "scripts/wipe-source.sh",
0044   "scripts/copy-to-analysis.rb",
0045   "src/STrackCutStudy.cc",
0046   "src/STrackCutStudy.io.h",
0047   "src/STrackCutStudy.ana.h",
0048   "src/STrackCutStudy.hist.h",
0049   "src/STrackCutStudy.plot.h",
0050   "src/STrackCutStudy.h",
0051   "src/autogen.sh",
0052   "src/configure.ac",
0053   "src/Makefile.am"
0054 ]
0055 
0056 # do copying
0057 to_copy.each do |file|
0058 
0059   # make directory in target if needed
0060   if file.include? "/"
0061 
0062     # grab relative path to file
0063     relative_path = file.clone
0064     relative_path.gsub!(copy_from, "")
0065 
0066     # clean up and isolate path
0067     relative_path.gsub!("//",  "/")
0068     relative_path.gsub!("/./", "/")
0069     relative_path.slice!(relative_path.rindex("/")..-1)
0070 
0071     # make directory
0072     to_make = copy_to + "/" + relative_path
0073     FileUtils.mkdir_p(to_make, :verbose => true) unless File.exists?(to_make)
0074   end
0075 
0076   # make source and target paths
0077   source = copy_from + "/" + file
0078   target = copy_to + "/" + file
0079 
0080   # remove any unwanted patterns
0081   source.gsub!("//",  "/")
0082   target.gsub!("//",  "/")
0083   source.gsub!("/./", "/")
0084   target.gsub!("/./", "/")
0085 
0086   # copy file
0087   FileUtils.cp_r(source, target, :verbose => true)
0088 end
0089 
0090 # end -------------------------------------------------------------------------