Implemented features
AntiKt4 TopoCluster Jets
- Muon ptcone information
- fix trigger object information
em fractions for jets, also have Cone4H1TowerJets in
b-tagging for new jet algorithms (espec. AntiKt4) - done, see below
more reco missing ET variables - done, see below
shower variables for electrons - done, see below
muon position at muon spectrometer - done, see ClemensLange/SingleTopDPDMaker/MuonPositionAtSpectrometer
Implementation
b-tagging for new jet algorithms
In exeSingleTopDPDMaker.py you have to change the order of the block starting with the comment "New Jet container generation" and directly after commented as "New and existing Jet tagging". Otherwise the JetGetter doesn't know how to do the b-tagging for the new jets. In the "Jet container generation block you have to replace
jetFlags.doBTagging = False
with
if ExecuteNewJetTagging: jetFlags.doBTagging = True else: jetFlags.doBTagging = False
As the tagging is done automatically if desired in the new jet container, it keeps its name and does not get the JetsAOD suffix as is the case for the jets already in the AOD. Thus you also have to change setSingleTopDPDMaker.py. In the part where you loop over the NewJetNumber, get rid of the if clause and just set the NewJetContainerName like this (I commented the stuff you should remove):
for i in range(NewJetNumber): #if ExecuteNewJetTagging: #NewJetContainerName += [NewJetName[i]+"JetsAOD"] #else: #NewJetContainerName += [NewJetName[i]+"Jets"] NewJetContainerName += [NewJetName[i]+"Jets"]
One thing one might also want to change is the EtMax of the jet selection, which should get a number larger than just 1000 TeV. By the way, in runSingleTopDPDMaker, splitting ExecuteNewJetAlgorithm and ExecuteNewJetSelection doesn't make sense, I think. If you set only the first to true, the DPDMaker complains about the NewJetSelectionInfo not being available, but that's just a sidemark.
As I wrote in an earlier mail. Using the Cone4/7TowerH1 calibration as alias for the new jet tagging should according to the b-tagging group not make much of a difference.
Implementation of MET variables
The first line in the source code is the one you should search for (and keep)
In runSingleTopDPDMaker:
if FullReco: MissingEtName = ["MET_Base","MET_Calib","MET_CryoCone","MET_Cryo","MET_Final","MET_MuonBoy","MET_Muon","MET_RefFinal","MET_Topo"]
delete MissingEtLabel.
In setSingleTopDPDMaker:
TreeMaker_MissingEtName = MissingEtName if not "MissingEtLabel" in dir(): MissingEtLabel=MissingEtName TreeMaker_MissingEtLabel = MissingEtLabel
Electron shower shapes variables
This is to a big extent already implemented in the code. There are just a few things that one might want to add.
First of all, in setSingleTopDPDMaker.py, around line 2470 add the Shower dump option to the TreeMaker:
TreeMaker_ContainerName += [ElectronContainerName] TreeMaker_ContainerLabel += ["Electron"] TreeMaker_ContainerDumpOption.append (["Shower"])
This adds the following shower variables to the Electron:
- Electron_EMShower_emaxs1
- Electron_EMShower_emins1
- Electron_EMShower_e2tsts1
- Electron_EMShower_e237
- Electron_EMShower_e277
- Electron_EMShower_ethad1
I also wanted to have Electron_etcone30 in addition to etcone20. To do this one has to add the code in src/ElectronTree.cxx. Search for each occurence of "etcone20", copy the line, paste below and replace the 20 with a 30. Don't forget to do the same for the header file.
CategorySingleTopDPDMaker