Skip to content
Snippets Groups Projects

tauRecTools: associate cluster in CaloCalTopoClusterContainer to the tau candidate

Merged Xiaozhong Huang requested to merge xiaozhon/athena:ref into master
All threads resolved!

For Topo seed jets, the cluster links in the tau candidate point to the clusters in a shallow copy container, which will not be available in AOD of R22. To fix this, the cluster links point to the cluster in the original container.

For PFlow seed jets, the cluster links in the tau candidate point to the PFOs(neutral or charged). It is confusing. Now the cluster links point to the corresponding cluter in the PFO object.

Previously, only clusters within 0.2 cone of tau candidate is stored. In the tau reconstruction, we need all the clusters. Thus the cut of dR is now removed.

The clusters could have energy <=0, which will be skimmed in AOD. The link then becomes invalid. Since we do not want an invalid link, all the clusters are requied to have positive energy.

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • This merge request affects 9 files:

    • Event/xAOD/xAODTau/Root/TauJet_v3.cxx
    • Event/xAOD/xAODTau/xAODTau/versions/TauJet_v3.h
    • Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx
    • Reconstruction/tauRec/python/TauAlgorithmsHolder.py
    • Reconstruction/tauRec/python/TauRecBuilder.py
    • Reconstruction/tauRecTools/src/TauAxisSetter.cxx
    • Reconstruction/tauRecTools/src/TauClusterFinder.cxx
    • Reconstruction/tauRecTools/src/TauClusterFinder.h
    • Reconstruction/tauRecTools/src/components/tauRecTools_entries.cxx

    Adding @goetz ,@martindl ,@akraszna ,@adbailey ,@xiaozhon as watchers

  • The implementation of the clusterLinks in the tau candidate changes. Currently, there are two clients of clusterLinks. One is METTauAssociator, the other is PFTauFlowElementAssoc.

    Impact on MET:

    • For LCTopo jet seed: Previously, the clusters are selected within 0.2 cone of the tau candidate using the jet axis. These clusters are corrected to point at the jet vertex.Now, the clusters are selected within 0.2 cone of the tau candidate using tau axis. There is no origin correction to these clusters.
    • For EMPFlow jet seed: Previously, the clusters are actually neutral PFOs and changed PFOs. The PFOs within 0.2 cone of the tau candidate using the jet axis are selected. For METTauAssociator, the cluster in the neutral PFO is used. Now, the clusters are those used in the neutral PFOs and charged PFOs. For METTauAssociator, the cluster, including those from charged PFOs, within 0.2 cone of the tau candidate using the tau axis is selected.
    • CAUTION: For EMPFlow jet seed, there is no origin correction to these clusters, and the calibration state is not at EMScale.

    Impact on PFTauFlowElementAssoc: The type of the cluster changes. So I think some modifications, which are not available yet, are needed.

    I am not sure which is the right way to proceed, tagging the expert for help @mhodgkin @wbalunas @sawyer

    Edited by Xiaozhong Huang
  • :white_check_mark: CI Result SUCCESS (hash e170f02c)

    Athena AthSimulation AthGeneration AnalysisBase
    externals :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    make :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    required tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    optional tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available on this CI monitor view
    :white_check_mark: Athena: number of compilation errors 0, warnings 0
    :white_check_mark: AthSimulation: number of compilation errors 0, warnings 0
    :white_check_mark: AthGeneration: number of compilation errors 0, warnings 0
    :white_check_mark: AnalysisBase: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 23053]

  • Hi @xiaozhon -

    I'm not entirely clear on what exactly your question is. Doesn't it make sense for clusterLinks to be links to clusters, as opposed to PFOs? Is your difficulty with the calibration state of the PFOs? In R22 PFOs (at least FlowElements, which you'll need to switch to) no longer have a concept of "calibration state" - you have to use the uncorrected collection itself if you don't want origin correction/CHS applied.

  • Hi @wbalunas

    Thanks for your prompt reply.

    Previously, the clusterLinks is not used in tau reconstruction. Since jets may not be saved in xAOD, we would like to use the links to retrieve the clusters inside the jet constituent. A few modifications is done to make it useable for tau reconstruction, but I am not sure if it is good to MET and Jet, which are the clients of the cluster links.

    As the name suggests, the clusterLinks are links clusters. However, they are links to PFOs for EMPFlow seed jets before this MR. We have changed it to link to clusters in this MR, but I am not sure whether I need to change the code in PFTauFlowElementAssoc correspondingly. The other issue is that the clusterLinks now return the cluster in CaloCalTopoCluster. Previously, it returns the cluster in LC(EM)OriginTopoClusters for Topo seed jets. If the four momentum matters, the output of MET reconstruction may change, but it depends on how the MET does the reconstruction.

    I would like to ask whether my changes are OK for Jet and MET. The FlowElements are something we plan to add in a longer term. Sorry for the confusion.

    Cheers, Xiaozhong

    Edited by Xiaozhong Huang
    • Resolved by Xiaozhong Huang

      Hm, OK - For PFTauFlowElementAssoc we'd need @mhodgkin to weigh in I think.

      For the MET question, presumably we want to be using the same cluster collection everywhere when we build the MET (so we wouldn't want e.g. uncorrected ones from taus but EMOrigin or something for the other objects). I'll tag the MET experts for more input on this: @khoo, @mswiatlo, @maklein, and @hpacey. Should we always be putting calibrated/corrected clusters into our MET associations?

      -Bill

  • "However, they are links to PFOs for EMPFlow seed jets before this MR"

    This seems to contradict:

    "The other issue is that the clusterLinks now return the cluster in CaloCalTopoCluster. Previously, it returns the cluster in LC(EM)OriginTopoClusters for Topo seed jets."

    Which is the correct statement?

    The point of the link from the PFO FE:

    https://gitlab.cern.ch/atlas/athena/-/blob/master/Reconstruction/eflowRec/src/PFTauFlowElementAssoc.cxx#L76

    is to understand overlap between the PFO FE and the tau. So the link should be to the same type of cluster used in PFO FE (CaloCalTopoCluster). It sounds like the new link in this MR is more correct than before?

    Cheers,

    Mark

  • Hi @mhodgkin

    Actually, both statements are right. Its behavior depends on the seed jet. Before this MR, the clusterLinks are links to

    • PFOs in some container (emm, I do not know the name) for PFlow seed jets
    • clusters in LC(EM)OriginTopoClusters for LCTopo seed jets.

    In this MR, the clusterLinks are always links to clusters in CaloCalTopoCluster for both Topo seed jets and PFlow seed jets.

    May I ask what's the type of FE->otherObjects().at(0) in https://gitlab.cern.ch/atlas/athena/-/blob/master/Reconstruction/eflowRec/src/PFTauFlowElementAssoc.cxx#L69 If it is xAOD::CaloCluster, then the new link in this MR is correct. If it is xAOD::PFlow, then we may need to change it to FE->otherObjects().at(0)->cluster(0) in this MR.

    Cheers, Xiaozhong

  • That type is xAOD::CaloCluster.

    Cheers,

    Mark

  • William Keaton Balunas resolved all threads

    resolved all threads

  • added 1 commit

    Compare with previous version

  • Hi all,

    Thanks for the discussion. So this MR is actually fixing issues.

    Resolving all the threads so the shifters could start the review, and adding the urgent label since I have two follow-up MRs waiting for this.

    Cheers, Xiaozhong

  • Xiaozhong Huang resolved all threads

    resolved all threads

  • added urgent label

  • This merge request affects 9 files:

    • Event/xAOD/xAODTau/Root/TauJet_v3.cxx
    • Event/xAOD/xAODTau/xAODTau/versions/TauJet_v3.h
    • Reconstruction/MET/METReconstruction/Root/METTauAssociator.cxx
    • Reconstruction/tauRec/python/TauAlgorithmsHolder.py
    • Reconstruction/tauRec/python/TauRecBuilder.py
    • Reconstruction/tauRecTools/src/TauAxisSetter.cxx
    • Reconstruction/tauRecTools/src/TauClusterFinder.cxx
    • Reconstruction/tauRecTools/src/TauClusterFinder.h
    • Reconstruction/tauRecTools/src/components/tauRecTools_entries.cxx

    Adding @goetz ,@martindl ,@akraszna ,@adbailey ,@xiaozhon as watchers

  • :white_check_mark: CI Result SUCCESS (hash df108754)

    Athena AthSimulation AthGeneration AnalysisBase
    externals :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    cmake :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    make :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    required tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
    optional tests :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:

    Full details available on this CI monitor view
    :white_check_mark: Athena: number of compilation errors 0, warnings 0
    :white_check_mark: AthSimulation: number of compilation errors 0, warnings 0
    :white_check_mark: AthGeneration: number of compilation errors 0, warnings 0
    :white_check_mark: AnalysisBase: number of compilation errors 0, warnings 0
    :pencil: For experts only: Jenkins output [CI-MERGE-REQUEST-CC7 23124]

  • mentioned in commit 9eb43b0b

Please register or sign in to reply
Loading