1 / 22

Cross Object Collection Information

Cross Object Collection Information. Sudhir Malik , Roger Wolf. PAT Tutorial, 5-9 Dec 2011. Outline. What is Cross Object Collection (COC)? Why is it important? Default COC in PAT How do I configure PAT for COC? Making customized COC How do I retrieve the result of COC?.

jasia
Télécharger la présentation

Cross Object Collection Information

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cross Object Collection Information Sudhir Malik, Roger Wolf PAT Tutorial, 5-9 Dec 2011

  2. Outline • What is Cross Object Collection (COC)? Why • is it important? • Default COC in PAT • How do I configure PAT for COC? • Making customized COC • How do I retrieve the result of COC?

  3. “traditional” disambiguation • In the “traditional” of detector based high • level analysis object reconstruction, e.g. • Electron: cluster in the ECAL + pointing track in tracker • Calorimeter Jet: clustered energies in the ECAL + HCAL • The ECAL cluster will also show up reconstructed as a • calorimeter jet • Wrong energy scale • energy of the electron reconstructed twice • Dilution of event interpretation • double counting, ambiguity • PAT provided user/analysis dependent python configurability to disambiguate above

  4. Particle Flow • Particle flow provides a full unambiguous reconstructed particle based event interpretation, more sophisticated ways to do objection disambiguation • So we do not need the PAT configurability for “traditional” disambiguation anymore • However, e.g., • think of a cut requiring a minimal distance between isolated lepton and closest jet • Jets within a certain radius in the vicinity of the lepton are not taken into account for the analysis • events for which this is the case are excluded form further consideration 4

  5. Cross Object Disambiguation • PAT provides capabilities (the same used for “traditional” disambiguation) to analyze associations of objects, which are part of different high level reconstruction objects on python level • We will learn how to use and how to configure COC information with PAT • Run this on PAT objects or PF2PAT objects 5

  6. Workflow “traditional” disambiguation AOD/Reco Particle Flow Regime PAT PF2PAT selectedPatCandidates selectedPatCandidatesPFlow PAT Cross Object Collection Sequence Cross Object Collections 6

  7. Cross reference This Jet that is cross referred are kept or can be dropped (careful), Jet Jet Jet Jet Jet Jet Jet Jet Jet Jet Jet Jet Jet ele ele ele mu mu mu mu isoele isoele isoele isoele isoele 7

  8. PAT “traditional”(default ) procedure • Warning!! - think of word cleaning as disambiguation, we cannot change that in PAT, also disambiguation is • now used for cross object reference of collections which we call as COC • In PAT these tools exist in • python/cleaningLayer1/ • and the sequence in • python/cleaningLayer1/cleanPatCandidates_cff.py

  9. Example Configuration of Electrons Four Parts - Common to all Objects edm::InputTag src common input source 1 std::string preselection potential pre-selection 2 edm::Pset checkOverlaps config. of overlap checking 3 std::string finalCut potential final selection 4 python/cleaningLayer1/electronCleaner_cfi.py src input source for test collection algorithm 'bySuperClusterSeed' algorithm Preselection preselection for ref collection checkReco check for common reco components paircut apply cut on pairing (4-vector kin.)1) requireNo... drop overlaps from this collection 1 2 3 3 4

  10. Configuration of Electrons If you choose ‘pt>5’, then only electrons with pt> 5 kept as cross reference collection If you choose ‘-2<eta<2’, then out of all cleaned electrons only electrons in this central region are kept • all electrons that passed previous PAT steps are checked (selectedPatElectrons); • they are checked against all muons that passed the “cleaning” step; • there is no additional pre-selection cut on electrons or muons; • there is no check on their reco. components (could be, e.g., super-clusters in the case of • electron/photon cleaning) • there is overlap if the ΔR distance between the electron and the muon is below 0.3; • electrons overlapping will have a reference to the muon (they are not discarded); • all electrons are saved in the event (no final cut).

  11. Configuration of Jets python/cleaningLayer1/jetCleaner_cfi.py

  12. Checking & Handling of Overlaps /CMSSW/DataFormats/PatCandidates/interface/PATObject.h The return values are of type reco::Candidate, but as you know of what type the test collections were you can also access specific information via dynamic_cast

  13. Working Example • hasOverlap(coll) checks if there was any overlap with the collection named coll. The name corresponds to the name used in the configuration of the cleaner, in the checkOverlapsPSet (in the example above, it would be electrons). • Example: myObject.hasOverlap("electrons") • overlapLabels() returns the full list of overlap checks (i.e., names to be used in the other methods) that found at least one overlap (useful for inspection or debugging). • overlaps(coll) returns a list of items with which overlap was found in collection coll, again corresponding to the name used in the configuration of the cleaner. The return value is a CandidatePtrVector, a vector of EDM pointers to Candidate objects. The following methods are then available: • size() to get the number of overlapping objects; • other basic Particle methods, like kinematics (pt(), eta(), etc.). ALERT! This works only if the corresponding collection is still in the root file. • Use dynamic_cast to convert the pointers to a specific PAT Object type to access variables which are not in the base Candidate class • Check if two edm::Ptrs point to the same object, by comparing them with '=='

  14. Example changes from main configuration

  15. Making customized COC - example • Remember, we use the same idea as in PAT, described before, nothing new, but our own customized way, can use on PF2PAT object also • In the exercises that you will do (Ex 7) • We make our selected PAT objects • Make customized COC sequence • Run it • Similarly you can start with PF2PAT objects 15

  16. Make selected PAT objects PhysicsTools/PatExamples/test/patTuple_noCOC_cfg.py edmDumEventContent 16

  17. Define customized selection of objects PhysicsTools/PatExamples/python/customizedSelection_cff.py

  18. Use customized selection for COC PhysicsTools/PatExamples/python/customizedCOC_cff.py

  19. ….contd PhysicsTools/PatExamples/python/customizedCOC_cff.py 19

  20. Run it PhysicsTools/PatExamples/test/patTuple_addCOC_cfg.py

  21. …contd (edmDumEventContent) 21

  22. Summary • “Traditional” cleaning PAT capability can be used for • Cross Object Collection • It would analysis dependent • Demonstrates PAT flexibility • There is NO LOSS of information with when making • Cross Object Selection

More Related