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
] streamConf = {'default': stripDSTStreamConf(), charm: microDSTStreamConf()} elements = { 'default': stripDSTElements(), charm: microDSTElements() + extraMicroElements } conf = SelDSTWriter("StripDST", StreamConf=streamConf, MicroDSTElements=elements, OutputFileSuffix="01234567", SelectionSequences=sc.activeStreams()) conf.StreamConf[charm] = microDSTStreamConf() selDST0Seq = conf.sequence() # dv = DaVinci() dv.DataType = '2010' dv.InputType = 'SDST' dv.EvtMax = 2000 #dv.UserAlgorithms = [multiSeqA.sequence(), multiSeqB.sequence(), selDST0Seq] dv.UserAlgorithms = [conf.sequence()] importOptions("Reco05-Stripping09_SDSTs.py") #EventSelector().Input = ["DATAFILE='PFN:castor:/castor/cern.ch/user/c/cattanem/testFiles/Brunel-v37r1-069857_0000000006-1000ev.sdst' TYP='POOL_ROOTTREE' OPT='READ'"] #FileCatalog().Catalogs =['xmlcatalog_file:TestSDSTCatalog.xml']
microDSTWriterConf.filePrefix = 'Test3' dstWriter = DSTWriterSelectionSequence( selSequence=selSequence, outputStreamConfiguration=microDSTWriterConf, extras=dstExtras) microDST0Seq = dstWriter.sequence() # dv = DaVinci() dv.DataType = 'MC09' dv.Simulation = True dv.EvtMax = 100 dv.UserAlgorithms = [microDST0Seq] dv.Input = [ " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000001_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000002_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000003_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000004_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000005_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000006_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000007_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000008_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000009_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000010_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000011_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000012_1.dst' TYP='POOL_ROOTTREE' OPT='READ'", " DATAFILE='castor://castorlhcb.cern.ch:9002/?svcClass=lhcbdata&castorVersion=2&path=/castor/cern.ch/grid/lhcb/MC/MC09/DST/00004879/0000/00004879_00000013_1.dst' TYP='POOL_ROOTTREE' OPT='READ'",
#'/lhcb/LHCb/Collision12/DIMUON.DST/00020198/0001/00020198_00014253_1.dimuon.dst', #'/lhcb/LHCb/Collision12/DIMUON.DST/00020198/0001/00020198_00014185_1.dimuon.dst' ] input = s20 # ## Input data from GaudiConf import IOHelper PFN = 'PFN:root://eoslhcb.cern.ch//eos/lhcb/grid/prod' ioh = IOHelper() ioh.inputFiles([PFN + i for i in input]) from Configurables import DaVinci davinci = DaVinci() ##davinci.EvtMax = 100000 davinci.PrintFreq = 100 davinci.EvtMax = 10000 ## davinci.EvtMax = 1000 # davinci.PrintFreq = 1 # davinci.SkipEvents = 37890 # davinci.EvtMax = 20 # davinci.PrintFreq = 100 # davinci.SkipEvents = 1 # davinci.EvtMax = 1000
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" ) ## EventClockSvc().EventTimeDecoder.RootInTES = locationRoot from GaudiConf import IOHelper
tuple.TupleToolTISTOS.VerboseL0 = True tuple.TupleToolTISTOS.VerboseHlt1 = True tuple.TupleToolTISTOS.VerboseHlt2 = True tuple.TupleToolTISTOS.Verbose = True tuple.TupleToolTISTOS.TriggerList = triggerList return tuple ################ # Configure DaVinci ################ 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
streams = get_streams(strippingVersion) dtt = DecayTreeTuple('Dst2010ToD0ToKpipiTuple', Inputs = ['/Event/AllStreams/Phys/D2hhPromptDst2D2RSLine/Particles'], Decay = '[D*(2010)+ -> (D0 -> K- pi+) pi+]CC') ttmc = dtt.addTupleTool('TupleToolMCTruth') ttmc.ToolList += ['MCTupleToolPrompt'] ttmc.ToolList += ['MCTupleToolHierarchy'] dtt.ToolList += ['TupleToolMCTruth', #'TupleToolGeneration' 'TupleToolMCBackgroundInfo' ] dtfVars = { # Index 0 for CHILDFUN meas the particle itself, so 1 is the D0. "DTF_M_D0_BPVIPCHI2" : "DTF_FUN(CHILDFUN(BPVIPCHI2(), 1), False, 'D0')" } decayDesc = dtt.Decay.replace('^', '') dtt.addBranches({'Dst' : decayDesc}) dstLoKiTuple = LoKi__Hybrid__TupleTool('DstLoKiTuple') dstLoKiTuple.Variables = dtfVars dtt.Dst.ToolList += [ "LoKi::Hybrid::TupleTool/DstLoKiTuple" ] dtt.Dst.addTool(dstLoKiTuple) dtt.Dst.InheritTools = True dv = DaVinci('DaVinci', DataType = '2011', TupleFile = 'DVTuples.root', HistogramFile = 'DVHistos.root', UserAlgorithms = [dtt], Lumi = True, DDDBtag = 'Sim08-20130503', CondDBtag = 'Sim08-20130503-vc-md100', Simulation = True) FileCatalog().Catalogs = ["xmlcatalog_file:/afs/cern.ch/work/m/malexand//charm/2011/data/mc/pool_xml_catalog.xml"] dv.EvtMax = 1000
] input = s20 # ## Input data from GaudiConf import IOHelper PFN = 'PFN:root://eoslhcb.cern.ch//eos/lhcb/grid/prod' ioh = IOHelper() ioh.inputFiles ( [ PFN + i for i in input ] ) from Configurables import DaVinci davinci = DaVinci() ##davinci.EvtMax = 100000 davinci.PrintFreq = 100 davinci.EvtMax = 10000 ## davinci.EvtMax = 1000 # davinci.PrintFreq = 1 # davinci.SkipEvents = 37890 # davinci.EvtMax = 20 # davinci.PrintFreq = 100 # davinci.SkipEvents = 1 # davinci.EvtMax = 1000
from Gaudi.Configuration import * from Configurables import DaVinci, SelDSTWriter from StrippingConf.Configuration import StrippingConf from StrippingSelections.Streams import StreamDimuon, StreamCalibration sc = StrippingConf(Streams=[StreamDimuon.stream]) from DSTWriters.__dev__.Configuration import StripDSTWriter dstWriter = StripDSTWriter( "StripDSTWriter", SelectionSequences=sc.activeStreams(), OutputFileSuffix='TestDiMuon', ) dv = DaVinci() dv.DataType = '2010' dv.InputType = 'SDST' dv.Simulation = True dv.EvtMax = 5000 dv.appendToMainSequence([sc.sequence()]) dv.appendToMainSequence([dstWriter.sequence()]) #dv.UserAlgorithms = [dstWriter.sequence()] importOptions("Reco05-Stripping09_SDSTs.py")