Angular analysis of B+->K*+(K+pi0)mumu
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
from Configurables import ( DaVinci, EventSelector, PrintMCTree, MCDecayTreeTuple, TupleToolMCTruth ) from DecayTreeTuple.Configuration import *
"""Configure the variables below with:
decay: Decay you want to inspect, using 'newer' LoKi decay descriptor syntax, decay_heads: Particles you'd like to see the decay tree of, datafile: Where the file created by the Gauss generation phase is, and year: What year the MC is simulating. """
# Select correct MC sample RefChan = False PHSP = True
# https://twiki.cern.ch/twiki/bin/view/LHCb/FAQ/LoKiNewDecayFinders decay = "[B+ => ^(K*(892)+ => ^K+ ^(pi0=> ^gamma ^gamma)) ^mu- ^mu+]CC" if (RefChan): decay = "[B+ => ^(K*(892)+ => ^K+ ^(pi0=> ^gamma ^gamma)) ^(J/psi(1S) => ^mu- ^mu+)]CC" decay_heads = ["B+", "B-"]
#Path to datafile datafile = "/afs/cern.ch/work/r/rekopecn/public/B_2_KstarMuMu/EvtGen/GaussDev_v49r12/MCTruth.sim" if (RefChan): datafile =datafile.replace(".sim","_RefChan.sim",1) if (PHSP): datafile =datafile.replace(".sim","_PHSP.sim",1)
year = 2017
# For a quick and dirty check, you don't need to edit anything below here. ##########################################################################
# Create an MC DTT containing any candidates matching the decay descriptor mctuple = MCDecayTreeTuple("MCDecayTreeTuple") mctuple.Decay = decay
# Name of the .xgen file produced by Gauss EventSelector().Input = ["DATAFILE='{0}' TYP='POOL_ROOTTREE' Opt='READ'".format(datafile)]
# Configure DaVinci DaVinci().TupleFile =datafile.replace(".sim","_orig.root",1) DaVinci().HistogramFile = "DVntuple_histo.root" DaVinci().Simulation = True DaVinci().Lumi = False DaVinci().DataType = str(year) DaVinci().UserAlgorithms = [mctuple]
def doIt(): """
specific post-config action for (x)GEN-files """
extension = "xgen" ext = extension.upper()
from Configurables import DataOnDemandSvc dod = DataOnDemandSvc () from copy import deepcopy algs = deepcopy ( dod.AlgMap ) bad = set() for key in algs : if 0 <= key.find ( 'Rec' ) : bad.add ( key ) elif 0 <= key.find ( 'Raw' ) : bad.add ( key ) elif 0 <= key.find ( 'DAQ' ) : bad.add ( key ) elif 0 <= key.find ( 'Trigger' ) : bad.add ( key ) elif 0 <= key.find ( 'Phys' ) : bad.add ( key ) elif 0 <= key.find ( 'Prev/' ) : bad.add ( key ) elif 0 <= key.find ( 'Next/' ) : bad.add ( key ) elif 0 <= key.find ( '/MC/' ) and 'GEN' == ext : bad.add ( key ) for b in bad : del algs[b] dod.AlgMap = algs from Configurables import EventClockSvc, CondDB EventClockSvc ( EventTimeDecoder = "FakeEventTime" ) CondDB ( IgnoreHeartBeat = True ) appendPostConfigAction( doIt )
|