-
Notifications
You must be signed in to change notification settings - Fork 2
Changelog
- JetTools & JetIDMVA Updated to new training / ID recommendations.
- JetCorrectionMod Fixed JER bug.
- JetCorrectionMod Add PtResolution, PhiResolution, and SF files to apply JER smearing to MC jets.
- BadPFTrackFilterMod New MET filter ported from CMSSW 8_0_X.
- ElectronID Porting Dylan's MVA updates + Guillelmo's changes to cut-based ID.
- RecoilTools Adapting to recent changes in Jet ID.
- JetIdMod Fixed a bad bug. Optional energy fraction cuts were using corrected jet energy as denominator.
- JetCorrectionMod Added JER smearing. Not tested extensively. JER constants file are not appearing in CVMFS again.
- IsolationToos Photon worst CH iso: removed veto cone to be in synch with CMSSW
- MetCorrectionMod New option to vary unclustered energy. Variation is configurable.
- GeneratorMod Added protection against the case where Higgs is (for some reason) the first particle in the list of gen particles.
- IsolationTools, PhotonTools, ElectronTools: Sorted out the weird back-and-forth of the isolation code between the tools. IsolationTools is now limited to calculating the raw isolation sums, and PhotonTools/ElectronTools do the pT and rho corrections.
- BadEventFilterMod: Now aborts if the filters are misconfigured.
- BadEventsFilterMod: Added backward compatibility for 042 files, tagging mode, and ability to use ASCII event lists.
- JetCorrectionMod: Switched from FactorizedJetCorrector to an original implementation.
- BadEventsFilterMod: Updating to new (Mit_043) input format.
- FastJetMod: Reflecting changes in the fastjet interface. Requires >=76X to compile from this commit. Backward compatibility can be added by using preprocessor directives.
- PhotonIdMod: Effective area was always returning 0! Bug fixed.
- PhotonIdMod: Added Spring15 IDs and renamed Summer15 -> Phys14 which was what they were.
- Python config: Removed bunch of python configs because importing them was causing problems in the analysis macro. See the pull request for details.
- HKFactorProducer: This is a module not actively used now, but the fortran code that was linked to it was causing scram to generate a massive warning message at compilation time. Moved the fortran source and its compiled library to cvmfs. Since the externals setup is done in MitAna, you need to merge MitAna yiiyama/physicsmods-new-features or later and run MitAna/bin/setupExternal.sh before compiling.
- MetCorrectionMod: Muons were not removed from jets in type 1 correction due to broken PF-muon linkage. Working around by matching geometrically.
- PuppiMod: ROOT::Math::chisquared_quantile was hanging when passed 0/0. Now checking the denominator before calling the function.
- PhotonIdMod: Added high-pT photon id a la https://indico.cern.ch/event/455258/contribution/1/attachments/1173429/1695369/151020_Egamma_PhotonID.pdf
- JetIdMod: Updating JetIDMVA and JetIdMod to new implementation in CMSSW (eta-dependent MVA training)
- New module MetMod to create MET from a given collection
- MonoXSkimMod: Added an option to perform very simple MET cut
- ElectronIdMod: Fake definition updates
- MetCorrectionMod: Making minimum jet pt threshold for type-1 correction configurable.
- MuonIdMod: Name changed for one iso flag. Delta-beta corrected PF iso for muons is now either Tight, Loose, or Fake in the order of diminishing tightness.
- ElectronIdMod: Turned off ChargeFilter for the default configuration. ChargeFilter requires that the track charge and supercluster-pixel charge match.
- PhotonIdMod: Added kNoId as an option to IdType.
- MuonIdMod: kLoose, kMedium, and kTight are (supposedly) fully aligned with POG definitions. To apply impact parameter cuts that make more sense, kLooseIP and kTightIP flags are added. They are identical to kLoose and kTight, except for the IP cut d0<2mm + dz<5mm and d0<0.2mm + dz<1mm, respectively.
- SeparatePileUpMod: Aligned configuration with CMSSW. Now tracks with no associated vertex are considered PU.
- PhotonIdMod: Was using a wrong H/E definition. Fixed.
- ElectronIdMod: Fixed a bug that was killing all 50ns ids. Added Guillelmo's fakeable object definition. Added 50ns isolation cuts as defined by EGM.
- PhotonIdMod: A serious bug in electron vetos. No electron veto would have been applied. Now fixed.
- JetCleaningMod: Mostly internal changes; removed ApplyPhotonCleaning and ApplyTauCleaning because this behavior can be controlled by setting / not setting the photon and tau collection names.
- JetIdMod: More switches and dials.
- ElectronIdMod: Replaced Phys14 IDs with Summer15. Default is set to no ID, no iso.
- PhotonIdMod: Replaced Phys14 IDs with Summer15. Default is set to loose.
- MuonIdMod: Added new ID "soft".
- FatJetExtenderMod: Improved debugging and timing tools. Expensive calculations are set off by default.
- PuppiJetMod: New. Converts PFCandidates (i.e. from PuppiMod) into a collection of PFJets or FatJets. User can request dR-matching to an existing collection of jets in order to recover b-tagging
- JetIDMVA: Fixed a bad bug in finding pt/eta bins for the jets to determine the MVA cut values.
- MuonIdMod: A bugfix on the isolation + cut value changes by Guillelmo. Are we still in synch with the POG definitions?
- BadEventsFilterMod: A MET filter module. By importing MitPhysics.SelMods.BadEventsFilterMod and having badEventsFilterMod in the sequence, events with specific MET filter bits (by default CSC beam halo, EE bad SC, and HBHE noise) are filtered out. The unfortunate naming is due to the fact that MetFilterMod already exists, as a module that "filters MET collection" - but who would do that (hint: MET collection always contains exactly one element..)
- PhotonIdMod: Fixed a bug in the python configuration file. Isolation type was wrong.
- JetCorrectionMod: Added a new option SetUncertaintySigma(double n). If the module is configured with L1+L2+L3(+L2L3Residual for data) + Uncertainty JEC source, the jets will be assigned an additional correction scale corresponding to (1 + n * sigma) where sigma is the uncertainty given in the source. This scale is stored as the 'Custom' level (mithep::Jet has 8 JEC levels: L1 to L7 + Custom). By default (unless you disable the correction levels) the output jet momentum will be fully corrected, including the uncertainty factor.
-
MetCorrectionMod: This module uses the same backend as JetCorrectionMod, and therefore can now handle Type1 corrections with JEC shifted by n sigma. To use this feature, give the full set of correction sources just as the same way as to JetCorrectionMod, and call SetJESUncertaintySigma(double n).
Another update in MetCorrectionMod: added SetMaxJetEta(double) to restrict the |eta| of the jets used in type 1 corrections. Default is no limit.
- GoodPVMod: Removed MC vertex plots and therefore the IsMC flag. Data and MC configurations are now identical.
- MetCorrectionMod: Publishing an Array of specific Met types, instead of ObjArray. Met type must be set by hand in the job configuration with SetOutputType(EObjType) switch (default kPFMet). The other options can be found in MitAna/DataTree/interface/ObjTypes.h, but it was realized later that there is no dictionary for this enum, which means python configuration cannot recognize e.g. mithep.kCaloMet. A numerical value must be given instead. This will be fixed soon.
- IdMods: Added a switch for maximum number of output. Skips event if there are more selected objects than fMaxOutput (default ~3 billion).
- python config for IdMods
- new module EventCategoryMod
- jet energy correction for real data
Python configurations: Using the new feature in MitAna master (will be Mit_042 soon) to set data/MC flags automatically from the central analysis object.
Jet energy correction: Was not compatible with L2L3Residual. Now fixed but the protection against setting up corrections in wrong order is lost.
EventCategoryMod: Use to filter out events based on an NFArrBool. Assuming post-skim usage.
- new module PuppiMod
- Mods/JetIdMod (python)
- Mods/PFTauIdMod
JetIdMod: The switch UseClassicBetaForMVA was set to True, which is a setting for Bambu files produced from MiniAOD. Reverted it to False.
PFTauIdMod: Previously could only cut at 0.5 for all discriminators. Added a possibility to choose arbitrary cuts, so that e.g. raw isolation can be used.
- Mods/GeneratorMod
Guillelmo cleaned up some obsolete histograms. Status 2 and 3 are no longer used; instead using kIsDecayedLeptonHadron (status 2) and kIsHardProcess (status 3) as documented in http://cmslxr.fnal.gov/lxr/source/DataFormats/HepMCCandidate/interface/GenStatusFlags.h?v=CMSSW_7_4_6 Currently mithep::MCParticle does not have the corresponding enum defined. Therefore bare numbers (1 and 7) are used, which obviously diminishes code readability..
- Mods/SeparatePileUpMod
- Mods/IdMod <- {Electron,Muon,PFTau,Jet,Photon}IdMod
PUMod: Getter for configuration parameters
IdMod: OutputName now an independent member variable
- Mods/MuonIdMod
Fixed bug in MuonIdMod (PassType function)
- Mods/python
Added default python configurations for some of the modules in Mods
- Mods/MetCorrectionMod
- Mods/JetIdMod
- Mods/JetCorrectionMod
Big disruptive changes in the implementation and interface