Git Product home page Git Product logo

commonclassifier's People

Contributors

gkasieczka avatar hannes-kit avatar jpata avatar kelmorab avatar mschrode avatar odysei avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

commonclassifier's Issues

gridding infrastructure

As discussed by voice, we'd like to run the CommonClassifier on a common set of input ntuples using either local clusters or crab.

I see the following subtasks:

  • develop a calling script that operates on the input ntuple, calls the CommonClassifier, saves the output
  • script that runs creates jobs (splitting) for this on a local cluster, could be based on grid-control files
  • submission wrapper from CRAB3 using scriptExe and userInputFiles

loose jets in CommonClassifier

@kelmorab can you think of a way we can easily include loose jets in the common input format, without much overhead on the MEM or BDT side or large duplication of data?
Do you still use/need them for the BDT?

BDT synch events

@kelmorab, @hannes-kit Could you kindly provide some BDT synch events with the event:run:lumi triplet, the input objects and the final discriminant so that I can verify we get the same values on our side? Especially what concerns the categorization.

I want to do this check before submitting a larger amount of jobs later today with both discriminants.

blr = -nan and segmentation violation

Thanks to the latest fix the MEM now runs smoothly for most events.
For a handful of events it still crashes, with a different error.
These events all have > 6 jets.


examples in ttH, H to bb:
event:run:lumi
1593159:1:7991
and
150241:1:754

and in ttbar, with additional info and stack trace:

event:run:lumi
59570647:1:299084
leptons (pt,eta,phi,m)
126.945, -1.88403, -3.02744, -0.115682
charges
1
jets (pt,eta,phi,m)
501.417, 2.2811, -1.10875, 33.4757
303.239, 0.134901, 0.01524, 48.9784
288.159, -0.129923, 1.94525, 29.5478
208.281, -0.388358, 2.54501, 36.836
177.983, -2.39063, -2.78664, 14.9357
172.347, -0.820916, 0.22674, 31.2052
137.964, 0.291562, 0.572221, 15.1946
121.494, -1.80933, 2.84316, 8.33387
csvs
0.90129
0.935117
0.0753409
0.777084
0.483106
0.947831
0.992282
0.968503
met
144.91, -0, -2.8977, 0.0770698
blr=-nan perm
#0 0x000000397920f2ee in waitpid () from /lib64/libpthread.so.0
#1 0x00007fcccaac90b8 in sig_dostack_then_abort () from /cvmfs/cms.cern.ch/slc6_amd64_gcc491/cms/cmssw/CMSSW_7_4_15/lib/slc6_amd64_gcc491/libFWCoreServices.so
#2
#3 __find_if<__gnu_cxx::__normal_iterator<unsigned int*, std::vector >, __gnu_cxx::__ops::_Iter_equals_val > (__pred=..., __last=..., __first=...) at /cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/gcc/4.9.1-cms/include/c++/4.9.1/bits/stl_algo.h:120
#4 __find_if<__gnu_cxx::__normal_iterator<unsigned int*, std::vector >, __gnu_cxx::__ops::_Iter_equals_val > (__pred=..., __last=..., __first=...) at /cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/gcc/4.9.1-cms/include/c++/4.9.1/bits/stl_algo.h:162
#5 find<__gnu_cxx::__normal_iterator<unsigned int*, std::vector >, unsigned int> (__val=, __last=..., __first=...) at /cvmfs/cms.cern.ch/slc6_amd64_gcc491/external/gcc/4.9.1-cms/include/c++/4.9.1/bits/stl_algo.h:3779
#6 MEMClassifier::GetOutput (this=0x7fccb4966918, selectedLeptonP4=..., selectedLeptonCharge=..., selectedJetP4=..., selectedJetCSV=..., looseSelectedJetP4=..., looseSelectedJetCSV=..., metP4=...)

Common interface discussion

Thanks Karim & Matthias for setting up the repo.

I think the format you propose is very good. For the b-tag likelihood ratio + MEM, the inputs you provide are sufficient. Here are some comments.

  1. We should then also fix what are selectedJets, looseSelectedJets and selectedLeptons.
  2. When we need to attach more information to a jet than just the 4-momentum and CSV, I agree we can make some very light classes for them.
  3. We might want the GetOutput to return some class or struct which contains additional info, e.g. for the MEM you might like to save the integration accuracy and number of permutations for debugging purposes.
  4. We might also like to think about how we include the boosted objects. In the MEM analysis we merge the resolved jets and subjets of boosted fatjets in case resolved jets do not satisfy the final state, however we have to think a bit about what's the best way to provide this procedure in a self-contained way.

vegas.c error

Hi,

i have been trying out the ME calculation using CMSSW_7_4_15.
I noticed that in a handful of events the MEMClassifier::GetOutput() returns a likelihood of "-nan".
In addition the following error is thrown
"Error in : Error 4 in vegas.c at 125 : xu must be greater than xl"

One example of this is an event with the following objects ( i assume that the ME calculation is insensitive to the choice of loose Jets)

Jets
pT, eta, phi, m, CSV
518.77 0.171288 -1.94303 49.4749 0.954083
461.506 0.780774 -2.96856 35.2939 0.931893
357.21 -1.81017 -2.6702 81.0336 0.437264
135.256 -1.505 0.84148 18.6924 0.984609
127.936 -0.333424 0.785695 15.1224 0.981502
66.6588 -1.26149 0.287357 5.65576 0.795801
45.0715 -1.46564 -2.32143 6.67862 0.118983
31.8205 1.01518 -0.135409 5.48534 0.185583
Lepton
pT, eta, phi, m, charge
147.816 -0.851258 0.780131 0.0390204 1
MET
pT, eta, phi, m
776.091 -0 0.618897 0

Best Regards,
Karim

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.