#acl ClemensLange:read,write All:read == Bugfixes for AODs using the SingleTopDPDMaker == === mc08 r635_t53 samples === The bugs are described here: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/PhysVal10TeVProd#Known_bugs_in_the_14_2_25_8_repr ==== Missing ET ==== The problem is described in detail here: http://atlas.web.cern.ch/Atlas/GROUPS/PHYSICS/JETS/EMISREC/muon_allbug_14.txt The fix is described here, but shown below for the application in the SingleTopDPDMaker: https://twiki.cern.ch/twiki/bin/view/AtlasProtected/MetCorrectionForHiggsWG#How_to_Apply_the_Fix_for_15_3_0 '''Fix''': In $TestArea/PhysicsAnalysis/TopPhys/SingleTopDPDMaker/share do: {{{ get_files -jo MissingET/MissingET_jobOptions_muon.py }}} Adjust and add the following lines to exeSingleTopDPDMaker.py after the sequence initialisation, approx. after line 43: {{{ # ATLAS/PAT "cooking" (verbose) initializations if ExecuteCellSelection or ExecuteTowerSelection or ExecuteJetReTagging or ExecuteNewJetTagging or FixMissingET: include("RecExCommon/RecExCommon_flags.py") include("RecExCond/AllDet_detDescr.py") if FixMissingET: include("MissingET_jobOptions_muon.py") }}} In the Tree Dumps Section of runSingleTopDPDMaker.py add the option {{{ FixMissingET = True }}} At the end of the Input Container Names section, add these lines: {{{ if FullReco and FixMissingET: MissingEtName += ["MET_MuonBoy_corrected", "MET_RefFinal_corrected"] }}} If you just have one MET variable, rename ''MET_RefFinal'' to ''MET_RefFinal_corrected'' in the ''if FullReco''-clause. Proof that it works is shown here (plotting Muon_pt (if Muon_isStandAloneMuon) vs. MET): [[attachment:MET_MuonBoy_before.png]] [[attachment:MET_MuonBoy_after.png]] [[attachment:MET_RefFinal_before.png]] [[attachment:MET_RefFinal_after.png]] ==== JetProb tagger ==== To have a slightly higher JetProb tagging efficiency, one has to rerun the b-tagging with a release > 14.5.1. To do this in the SingleTopDPDMaker, proceed as follows. It is assumend that your standard jets are Cone4H1TowerJets. In runSingleTopDPDMaker.py in the ''Input Container names'' section change {{{ JetContainerName = "Cone4H1TowerJets" }}} to {{{ JetContainerName = "Cone4H1TowerJetsAOD" }}} Close to the end in the section named ''Existing Jet tagging and selection parameters'' add or uncomment these lines: {{{ ReTaggedJetNumber += 1 ReTaggedJetName += ["Cone4H1Tower"] ReTaggedJetPtMin += [15.0*GeV] ReTaggedJetEtaMax += [5.0] }}} Then you can keep ''DumpReTaggedJets = False'', because the re-tagged jet collection is taken instead of the "wrongly" tagged one. Make sure you have the following setting (further to the top): {{{ ExecuteJetReTagging = True ExecuteReTaggedJetSelection = True }}} In exeSingleTopDPDMaker.py, make sure the jet tagging section looks as shown below: {{{ # New and existing Jet tagging if ExecuteJetReTagging or ExecuteNewJetTagging: from BTagging.BTaggingFlags import BTaggingFlags BTaggingFlags.Runmodus = "analysis" BTaggingFlags.PoolInputType = "AOD" BTaggingFlags.JetFitterTag = False BTaggingFlags.Jets = [] BTaggingFlags.JetsWithInfoPlus = [] if ExecuteJetReTagging: BTaggingFlags.Jets += ReTaggedJetName BTaggingFlags.JetsWithInfoPlus += ReTaggedJetName if ExecuteNewJetTagging: BTaggingFlags.Jets += NewJetName BTaggingFlags.JetsWithInfoPlus += NewJetName BTaggingFlags.CalibrationChannelAliases = [] for i in filter(lambda x : "LCTopo" in x, BTaggingFlags.Jets): if "4" in i: BTaggingFlags.CalibrationChannelAliases += [ "%s->Cone4H1Tower" % i ] else: BTaggingFlags.CalibrationChannelAliases += [ "%s->Cone7H1Tower" % i ] BTaggingFlags.OutputLevel = ERROR include("BTagging/BTagging_jobOptions.py") }}} ---- CategorySingleTopDPDMaker