-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcopyFromPnfs.sh
More file actions
40 lines (31 loc) · 1.29 KB
/
copyFromPnfs.sh
File metadata and controls
40 lines (31 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#this is a macro to copy all files from a pnfs directory to a given directory
#syntax: source copyFromPnfs.sh arg1 arg2 arg3
# arg1 is the path to the directory from which we want to copy
# arg2 is the path to the directory in which we want to copy
# arg3 is the string that each file to be copied should contained in their names (typically "root")
# arg4 When arg4 is = "merge", all root files in the $2 directory will be "hadd" and then erased.
# example source copyFromPnfs.sh /pnfs/iihe/cms/store/user/qpython/BTagging/FastSimStudy/TTJets_TuneCUETP8M1_13TeV-madgraphMLM-pythia8/crab_TagVarInfo_FastSim_CMSSW748_Premix/150923_153827/0000/ /user/qpython/fromPnfs/CMSSW_748/crab_TagVarInfo_FastSim_CMSSW748_Premix root merge
# first creat the list of command
source ~/Git/bash_sript/createListOfCmd.sh $1 $2 $3 > preAwk.txt
# remove unnecessary line
awk '/^dccp/' preAwk.txt > postawk.txt
#create dir
mkdir $2
# copy the files
source postawk.txt
# move the txt files to the same location than the root files
mv preAwk.txt $2
mv postawk.txt $2
if [[ -n $4 ]] #check if variable is not empty
then
if [[ $4 == "merge" ]]
then
cd $2
echo "merging all root files using hadd"
hadd -f all.root Jet*.root
echo "removing all 'sub'root files but one"
mv *_1.root single.root
rm -f Jet*.root
cd -
fi
fi