ATLAS Offline Software
Loading...
Searching...
No Matches
ExtractComponent.py
Go to the documentation of this file.
1# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
2
3import sys
4import re
5from ROOT import *
6
7def GetKeyNames(self,dir=""):
8 self.cd(dir)
9 return [key.GetName() for key in gDirectory.GetListOfKeys()]
10TFile.GetKeyNames = GetKeyNames
11
12
13if len(sys.argv) < 4:
14 print "Too few arguments. Expected the following:"
15 print " 1. Input file"
16 print " 2. Output file"
17 print " 3+ Name(s) of components to extract"
18 exit(1)
19
20inputFile = TFile.Open(sys.argv[1],"READ")
21outputFile = TFile.Open(sys.argv[2],"RECREATE")
22compNames = sys.argv[3:]
23
24# Check that the request is possible
25for compName in compNames:
26 if compName not in inputFile.GetKeyNames():
27 print "Unable to continue - input file does not contain the requested component:",compName
28 exit(2)
29
30# Now do what the user asked
31for compName in compNames:
32 hist = inputFile.Get(compName)
33 outputFile.cd()
34 hist.Write(compName)
35
36outputFile.Close()
37inputFile.Close()
38