def configure(year, mc): """General configuration of DaVinci options. Keyword arguments: year -- One of lc2pxx.config.years mc -- True if booking MC ntuples, else false """ dv = DaVinci() # Output ntuple name dv.TupleFile = "DVntuple.root" # Process all events dv.EvtMax = -1 # Print status every 1000 events dv.PrintFreq = 1000 # Number of events to skip at the beginning of each file dv.SkipEvents = 0 dv.DataType = str(year) dv.Simulation = mc # Collision streams for Charm are on microDST, and in MC if not mc: dv.InputType = "MDST" # See "Question about microDST and RootInTES" in lhcb-davinci dv.RootInTES = "/Event/Charm" # Add a GetIntegratedLuminosity/LumiTuple TTree to output, but not in MC dv.Lumi = not mc
def configure(year, mc, input_type, n_events, root=None, tfn=None): """General configuration of DaVinci object. Keyword arguments: year -- One of (2011, 2012) mc -- True if creating Monte Carlo ntuples, else False """ dv = DaVinci() # Stripping output on CHARMCOMPLETEEVENT.DST, MC on ALLSTREAMS.DST dv.InputType = input_type # Output ntuple name dv.TupleFile = 'DVntuple.root' # Print status every 1000 events dv.PrintFreq = 1000 dv.EvtMax = n_events # Year of data taking dv.DataType = str(year) # Is the data from simulation dv.Simulation = mc # Add a GetIntegratedLuminosity/LumiTuple TTree to output if appropriate dv.Lumi = not mc if root is not None: dv.RootInTES = root if tfn is not None: dv.TupleFile = tfn
ttsis.ReportStage = "Stripping" tttt = dtt.B.addTupleTool('TupleToolTISTOS') tttt.TriggerList = [ 'Hlt1TrackAllL0Decision', 'Hlt1TrackMuonDecision', 'Hlt1DiMuonHighMassDecision', 'Hlt2DiMuonDetachedJpsiDecision', 'Hlt2DiMuonJpsiDecision' ] tttt.VerboseHlt1 = True tttt.VerboseHlt2 = True dv = DaVinci() dv.DDDBtag = 'head-20110914' dv.CondDBtag = 'head-20110914' dv.DataType = '2011' dv.Lumi = False dv.InputType = "MDST" if mDST else "DST" dv.UserAlgorithms = [dtt] dv.EvtMax = -1 ApplicationMgr().HistogramPersistency = "ROOT" from Configurables import HistogramPersistencySvc HistogramPersistencySvc(OutputFile='histos.root') from Configurables import NTupleSvc NTupleSvc().Output += ["DTT DATAFILE='tuples.root' TYPE='ROOT' OPT='NEW'"] NTupleSvc().OutputLevel = 1 ## Point the EventClockSvc to the RootInTES ## from Configurables import EventClockSvc, OdinTimeDecoder, TimeDecoderList ## EventClockSvc().addTool( TimeDecoderList, name = "EventTimeDecoder" )
################ from Configurables import DaVinci, L0Conf dv = DaVinci() dv.DataType = '2012' dv.EvtMax = -1 for line_info in line_infos: print line_info tuple = makeDecayTreeTuple( line_info[0], line_info[1], line_info[2], line_info[3] ) dv.UserAlgorithms += [ tuple ] dv.Simulation = False #from Configurables import CondDB #CondDB(UseOracle = True) DaVinci().DDDBtag = "dddb-20120831" DaVinci().CondDBtag = "cond-20121211" DaVinci().EnableUnpack = ['Stripping','Reconstruction'] dv.Lumi = True dv.HistogramFile = "DVHistos.root" # Histogram file dv.TupleFile = "DVNtuples.root" # Ntuple # to test rejecting hot CALO cells #from Gaudi.Configuration import * #def recomputeL0Calo(): # from Configurables import L0CaloAlg # DataOnDemandSvc().AlgMap[ 'Trig/L0/FullCalo' ] = L0CaloAlg( WriteOnTES = True , WriteBanks = False ) # DataOnDemandSvc().AlgMap[ 'Trig/L0/Calo' ] = L0CaloAlg( WriteOnTES = True , WriteBanks = False ) # #appendPostConfigAction(recomputeL0Calo)
def __init__(self, fname, version, linename, datafile, explicitTags = False, useTrackScaleState = True, toolList = ["TupleToolPropertime", "TupleToolKinematic", "TupleToolGeometry", "TupleToolEventInfo", "TupleToolPrimaries", "TupleToolPid", "TupleToolANNPID", "TupleToolTrackInfo", "TupleToolRecoStats",], mcToolList = ['TupleToolMCTruth', 'TupleToolMCBackgroundInfo', 'MCTupleToolPrompt'], L0List = [], HLT1List = [], HLT2List = [], strippingList = [], aliases = {}, labXAliases = False, substitutions = {}, optssuffix = 'settings', extraopts = '', extraoptsfile = '', datatype = None, diracversion = None, force = False) : from Configurables import GaudiSequencer, DaVinci, TupleToolStripping, \ TupleToolTrigger # Defines Simulation, CondDBtag, DDDBtag, InputType, DataType dv = DaVinci() dataopts = get_data_opts(datafile, explicitTags, optssuffix, datatype, diracversion, force) dv.configure_data_opts(dataopts) dv.TupleFile = 'DVTuples.root' dv.HistogramFile = 'DVHistos.root' dv.Lumi = True # Can't use TrackScaleState for 2015 data yet as it's not been calibrated. if useTrackScaleState : dv.add_TrackScaleState() # Defines rootInTES, inputLocation, and decayDescs lineopts = get_line_settings(linename, version, os.path.split(fname)[0], optssuffix, force) lineopts, lineseq = dv.add_line_tuple_sequence(lineopts, toolList, mcToolList, L0List, HLT1List, HLT2List, strippingList, aliases, labXAliases, substitutions) dtt = lineseq.Members[-1] if dataopts['Simulation'] : mcunbseqs = [] for desc in lineopts['decayDescs'] : mcunbseq = dv.add_mc_unbiased_sequence(desc) mcunbseqs.append(mcunbseq) localns = dict(locals()) localns.update(globals()) if extraopts : exec extraopts in localns if extraoptsfile : execfile(os.path.expandvars(extraoptsfile)) in localns objsdict = {'dv' : dv} Script.__init__(self, fname, dv.extraobjs, objsdict)
def __init__(self, fname, version, linename, datafile, explicitTags = False, useTrackScaleState = True, toolList = ["TupleToolPropertime", "TupleToolKinematic", "TupleToolGeometry", "TupleToolEventInfo", "TupleToolPrimaries", "TupleToolPid", "TupleToolANNPID", "TupleToolTrackInfo", "TupleToolRecoStats",], mcToolList = ['TupleToolMCTruth', 'TupleToolMCBackgroundInfo', 'MCTupleToolPrompt'], L0List = [], HLT1List = [], HLT2List = [], strippingList = [], aliases = {}, labXAliases = False, substitutions = {}, optssuffix = 'settings', extraopts = '', extraoptsfile = '', datatype = None, diracversion = 'prod', force = False, mooreversion = 'latest') : from Configurables import GaudiSequencer, DaVinci, TupleToolStripping, \ TupleToolTrigger # Defines Simulation, CondDBtag, DDDBtag, InputType, DataType dv = DaVinci() dataopts = get_data_opts(datafile, explicitTags, optssuffix, datatype, diracversion, force) dv.configure_data_opts(dataopts) dv.TupleFile = 'DVTuples.root' dv.HistogramFile = 'DVHistos.root' dv.Lumi = True # Can't use TrackScaleState for 2015 data yet as it's not been calibrated. if useTrackScaleState : dv.add_TrackScaleState() # Defines rootInTES, inputLocation, and decayDescs lineopts = get_line_settings(linename, version, os.path.split(fname)[0], optssuffix, force, mooreversion) lineopts, lineseq = dv.add_line_tuple_sequence(lineopts, toolList, mcToolList, L0List, HLT1List, HLT2List, strippingList, aliases, labXAliases, substitutions) dtt = lineseq.Members[-1] if dataopts['Simulation'] : mcunbseqs = [] for desc in lineopts['decayDescs'] : mcunbseq = dv.add_mc_unbiased_sequence(desc, toolList = toolList, mcToolList = mcToolList, L0List = L0List, HLT1List = HLT1List, HLT2List = HLT2List, strippingList = strippingList) mcunbseqs.append(mcunbseq) localns = dict(locals()) localns.update(globals()) if extraopts : exec extraopts in localns if extraoptsfile : if isinstance(extraoptsfile, (tuple, list)) : for fextraopts in extraoptsfile : execfile(os.path.expandvars(fextraopts)) in localns else : execfile(os.path.expandvars(extraoptsfile)) in localns objsdict = {'dv' : dv} Script.__init__(self, fname, dv.extraobjs, objsdict)