Giter Club home page Giter Club logo

excalibur's People

Contributors

annafriedel avatar cheidecker avatar cverstege avatar dsavoiu avatar herrhorizontal avatar joramberger avatar juhandl avatar maxfischer2781 avatar mschnepf avatar rfvc avatar rhofsaess avatar swayand avatar tfesenbecker avatar thoberger avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

excalibur's Issues

Set consumer quantities programmatically

Several quantities overlap in their definition, e.g. pt of mu1, mu2, muplus etc. There are also similarities for puppi and CHS quantities. These may be set both easier and less error prone in a programmatic way.

MC weights

In the recent JERC meeting, it was suggested that discrepancies in Mu Isolation might stem from incorrectly applied weights of the MC.

Use Z-leptons instead of mu1/muplus/...

At the moment, we have zmu1X and mu1X quantities (and mu2, muplus, muminus). In most use cases, mu1 is actually used to represent zmu1. It might be worthwhile to phase out mu1 in favor for zmu1 and complete the zmuX quantities.

In case of muplus/muminus, this seems to be not an issue, as they are by design meant to be zmuplus/zmuminus. Any differences are an error in muplus/muminus. For mu1, there is technically a valid difference, however.

My questions: should mu1 be phased out in favor of zmu1? Should the names also be changed from zmu1 to just mu1?

Update CondFormats

The test script currently uses the CondFormats version in Georg's web space. This differs from what you get with git cms-addpkg CondFormats/JetMETObjects. The only difference should be that we remove dependencies on CMSSW logging and error handling. The code should otherwise be the same. Currently, there are more than 100 lines different. We do not need parts of the code that care about serialization into ROOT files as we only handle four-vectors of jets within our programs.

A recent CMSSW version should be chosen and the removal of CMS dependencies should be done via a script (sed) to automate the updating in future.

Use latest Type-I corrections

There might be changes in the Type-I correction: "now using ak4PFJetsCHS with pt > 15GeV (before it was ak4PFJets with pt > 10 GeV)". Raphael confirms this.
We should follow the official code.

Remove TaggedJets from pipeline names

Currently the pipline names includedes the TaggedJets due to historical reasons.

Since TaggedJets is a global property of a config, it should be removed from the pipeline names.

Caching of existing files

When lumi/pileup files are already present in the repository, the files are still queried as they are not in the local cache. Is this behaviour on purpose? IMHO if someone else has checked in the files it would be convenient to simply use them

Fix jet composition plots

The jet composition plots show the HF neutral hadron fraction twice. Should be kept configurable for pre CMSSW 7.3.X samples

config decorators/modificators

Several validations/experiments/trials require just minor modifications to existing configurations, but need to be applied to multiple configs (e.g. for both data and mc). This invariably leads to code duplication for every base configuration.

I propose a method for applying modifications to configurations at the excalibur level. This would be similar in setup to decorators: a modifier takes a single argument, namely the current configuration, and is required to return one: config_modifier(config: dict) -> dict This would also allow chaining them.

For the interface, I suggest simply appending them after the config. For example, excalibur.py data15 mod_run2015D mod_jetid -b would equate to mod_jetid.config_modifier(mod_run2015D.config_modifier(data15.config())). The resulting work name would be data15_mod_run2015D_mod_jetid.

clean up pipeline name references

We currently have a mixture of different naming conventions for pipelines in Excalibur and Merlin, as well as between different versions of each. This should be the mostly (exclusively) the "ak5" vs "AK5" naming. We should unify this in all configs and application.

See also issue #39 on renaming the pipelines. Ideally, both should be done at the same time.

Cleanup PUPPI workarounds

There is apparently some leftover code from initial workarounds for various PUPPI issues. For example, there is a barely documented option to add muons to MET (80bd3c6). Merlin configs possibly have some legacy code as well.

I'd opt for removing any such leftovers on sight, unless they are used somewhere.

Fix extends/binning of run2_comparison plots

The plots from the run2_comparison function have been used heavily in recent presentations. They should have a fixed style so that differences in content are easier to see. Some are malformed, e.g. the extrapolation ratio.

Automatize 'get_npudata.py'

The result of get_npudata.py should always be up-to-date with the used Cert JSON, but requires manual execution. Since it executes very fast and doesn't change that often, integrating it in a config class with caching to automatize it would be an obvious solution.

Port new skim config back to 53X

The new skimming config is much cleaner. It makes sense to use the same way for 7+8TeV skims (nice python). Perhaps in a new config to be able to compare the results easily.

CLI Documentation

The documentation for Excalibur and Merlin available on the CLI is rather brief. This is especially apparent for Merlin (see artus-analysis/Artus#7).

I'd suggest inclusion of important references into the -h options and the creation of man pages.

Gen Z Production

I changed the ZJetTreeConsumers genlevel outputs to work either with the GenZProducer included for testing or with Artus GenBosonProducers. I will remove the GetGenZ method from ZJetProduct in some days, because it isn't working correctly with actual CMSSW MC.

skim: events pro job

there are two skim files without any events, causing problems for excalibur:
/storage/a/mfischer/skims/2015-07-10_MF_AnyMu_2015_746/MIN_MU_COUNT_2-MIN_MU_PT_8.0/DoubleMu_Run2015B_Jul2015_13TeV/kappa_DoubleMu_Run2015B_Jul2015_13TeV_2.root
/storage/a/mfischer/skims/2015-07-10_MF_AnyMu_2015_746/MIN_MU_COUNT_2-MIN_MU_PT_8.0/DoubleMu_Run2015B_Jul2015_13TeV/kappa_DoubleMu_Run2015B_Jul2015_13TeV_10.root

could you increase the events per job setting?

thanks

Muons in non-Muons Puppi

Puppi provides best results when computed without muons. This requires muons to be completely removed from the Puppi collection during skimming before doing any computations. Muons should be added again after the Puppi veto and all derived quantities have been calculated.

reco vs ptcl in extrapolation not working

I am unable to get the reco vs ptcl in the extrapolation plot working. It always gives a 1+1x result.

I've created a patch that automatically extracts the actual input files (instead of wrongly hardcoded ones) but that seems to have no effect either.
extra_diff.txt

My current guess is that it's a problem with undefined values not being filtered out.

Commit hook should ignore unstaged files

The formatting commit hook will also try to modify files which have been changed but are not meant to be committed (yet). This will fail the commit, as the hook requires all changes in files it modifies to be staged/commited/stashed.

This seems unreasonable to me - a file that is not meant to be committed does not need to be formatted implicitly and should also not fail the commit. I suggest that the (formatting) commit hook is set to implicitly check only files which are to be committed.

Improve lumi querying

the current workflow of ssh-ing to lxplus and executing brilcalc does not work very well for people without CERN accounts. should we implement a manual override or sth.?

Switch to KappaTools with cmake

When the master of KappaTools is compiled with cmake (as Thomas insists to get it scramified) the scram branch should be compatible with it.

Fix runtime plot

for the Excalibur processor runtime plots, only the mean value for each processor should be displayed in a bar chart

Change in muon-jet veto procedure

right now we have the DeltaR cut that Max activated. However, this might veto ALL jets containing muons, e.g. reject b-jets with a small muon fraction from semileptonic b decays.

  • maybe only veto on jet muon fraction?
  • maybe only veto on the muons from Z decay, not all valid muons?

Resolution in combination files

Quoting Mikko for simplicity:
"I addition to graphs of means, it would be great if you could add the graphs of RMS to the combination file as well. Iโ€™d use these to commission a proof-of-principle of a global fit for JER as well."

Automatically calculate Lumi

Analysis would be less error prone and more dynamic if Lumi could be calculated automatically from JSON files. brilcalc is the official tool to extract Lumi for given JSON files.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.