Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add DT and CSC rechits to AOD content #40251

Merged
merged 1 commit into from Jan 17, 2023
Merged

Conversation

kakwok
Copy link
Contributor

@kakwok kakwok commented Dec 6, 2022

PR description:

This PR adds CSC/DT rechits to the AOD datatier, which are the essential inputs for multiple searches of LLP decaying in the muon system and evaluating related trigger performances

The DT/CSC rechits has been added to the AOD in the b-parking dataset from this PR: #34066

The overall data size increase are ~1.7%

  • ZEE + 2018 PU from UL RunIISummer20ULPrePremix aod 100 events: dt1DRecHits add 0.13%, csc2DRecHits add 1.0%; the total increase is about 1.2%
  • 136.898 input (Run2018B ParkingBPH5 run 317661 LS 393) aod 100 events: dt1DRecHits add 0.88%, csc2DRecHits add 0.79%; the total increase is about 1.7%

PR validation:

To be presented at https://indico.cern.ch/event/1228914/#6-adding-csc-and-dt-rechits-to

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 6, 2022

+code-checks

Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-40251/33302

  • This PR adds an extra 12KB to repository

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 6, 2022

A new Pull Request was created by @kakwok for master.

It involves the following packages:

  • RecoLocalMuon/Configuration (reconstruction)

@cmsbuild, @mandrenguyen, @clacaputo can you please review it and eventually sign? Thanks.
@bellan, @abbiendi, @battibass, @jhgoh, @missirol this is something you requested to watch as well.
@perrotta, @dpiparo, @rappoccio you are the release manager for this.

cms-bot commands are listed here

@clacaputo
Copy link
Contributor

enable profiling

@clacaputo
Copy link
Contributor

please test

@cmsbuild
Copy link
Contributor

cmsbuild commented Dec 7, 2022

+1

Summary: https://cmssdt.cern.ch/SDT/jenkins-artifacts/pull-request-integration/PR-58b334/29499/summary.html
COMMIT: d5859df
CMSSW: CMSSW_13_0_X_2022-12-06-2300/el8_amd64_gcc11
Additional Tests: PROFILING
User test area: For local testing, you can use /cvmfs/cms-ci.cern.ch/week0/cms-sw/cmssw/40251/29499/install.sh to create a dev area with all the needed externals and cmssw changes.

Comparison Summary

Summary:

  • No significant changes to the logs found
  • ROOTFileChecks: Some differences in event products or their sizes found
  • Reco comparison results: 35 differences found in the comparisons
  • DQMHistoTests: Total files compared: 48
  • DQMHistoTests: Total histograms compared: 3421214
  • DQMHistoTests: Total failures: 1179
  • DQMHistoTests: Total nulls: 0
  • DQMHistoTests: Total successes: 3420013
  • DQMHistoTests: Total skipped: 22
  • DQMHistoTests: Total Missing objects: 0
  • DQMHistoSizes: Histogram memory added: 0.0 KiB( 47 files compared)
  • Checked 206 log files, 158 edm output root files, 48 DQM output files
  • TriggerResults: no differences found

@srimanob
Copy link
Contributor

srimanob commented Dec 9, 2022

Question: If this PR is merge, do we still need EXOCSCCluster skim, as we will produce duplicated thing. Maybe it is OK if SKIM is very small, to be available on Disk as AOD will mostly be on tape.

@clacaputo
Copy link
Contributor

@kakwok could you please measure the size increase using wf 11834.21? 500 events should be enough

@sixie
Copy link

sixie commented Dec 9, 2022

@srimanob : we do still need the EXOCSCCluster skim because it facilitates analyses that can use the HMT triggers and also includes additional RAW information that can be used to further develop and improve the MDS reconstruction. The skim is small. For 2022 the total size was less than 30TB. They do not have to be centrally requested to DISK and can be treated the same AOD. Thanks.

@kakwok
Copy link
Contributor Author

kakwok commented Dec 12, 2022

Hi @clacaputo,

I tried running the workflow on lxplus with CMSSW_13_0_0_pre1, but I see some weird crashes.
Do you understand this crash?

Mon Dec 12 15:55:46 CET 2022
Thread 4 (Thread 0x7fb861f7f700 (LWP 15135) "cmsRun"):
#0  0x00007fb8acea5ddd in poll () from /lib64/libc.so.6
#1  0x00007fb8a61e6dcf in full_read.constprop () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/pluginFWCoreServicesPlugins.so
#2  0x00007fb8a61e779c in edm::service::InitRootHandlers::stacktraceFromThread() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/pluginFWCoreServicesPlugins.so
#3  0x00007fb8a61ea24b in sig_dostack_then_abort () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/pluginFWCoreServicesPlugins.so
#4  <signal handler called>
#5  0x00007fb87542b28b in StackingAction::isItPrimaryDecayProductOrConversion(G4Track const*, G4Track const&) const () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#6  0x00007fb87542b60d in StackingAction::ClassifyNewTrack(G4Track const*) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#7  0x00007fb875aaaefb in G4StackManager::PushOneTrack(G4Track*, G4VTrajectory*) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#8  0x00007fb8757a47ab in G4EventManager::StackTracks(std::vector<G4Track*, std::allocator<G4Track*> >*, bool) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#9  0x00007fb8757a4ead in G4EventManager::DoProcessing(G4Event*) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#10 0x00007fb87542612f in RunManagerMTWorker::produce(edm::Event const&, edm::EventSetup const&, RunManagerMT&) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#11 0x00007fb87543c992 in omt::ThreadHandoff::Functor<OscarMTProducer::produce(edm::Event&, edm::EventSetup const&)::{lambda()#1}>::execute() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#12 0x00007fb87543246a in omt::ThreadHandoff::threadLoop(void*) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#13 0x00007fb8ad188ea5 in start_thread () from /lib64/libpthread.so.0
#14 0x00007fb8aceb0b0d in clone () from /lib64/libc.so.6
Thread 3 (Thread 0x7fb862fc2700 (LWP 15086) "cmsRun"):
#0  0x00007fb8ad18ca35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb8ad783a7c in __gthread_cond_wait (__mutex=<optimized out>, __cond=<optimized out>) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_3_0_pre2-slc7_amd64_gcc10/build/CMSSW_12_3_0_pre2-build/BUILD/slc7_amd64_gcc10/external/gcc/10.3.0-84898dea653199466402e67d73657f10/gcc-10.3.0/obj/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/gthr-default.h:865
#2  std::condition_variable::wait (this=<optimized out>, __lock=...) at ../../../../../libstdc++-v3/src/c++11/condition_variable.cc:53
#3  0x00007fb87541a5eb in OscarMTMasterThread::OscarMTMasterThread(edm::ParameterSet const&)::{lambda()#1}::operator()() const () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#4  0x00007fb8ad788f90 in std::execute_native_thread_routine (__p=0x7fb879f1d920) at ../../../../../libstdc++-v3/src/c++11/thread.cc:80
#5  0x00007fb8ad188ea5 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fb8aceb0b0d in clone () from /lib64/libc.so.6
Thread 2 (Thread 0x7fb88a362700 (LWP 13933) "cmsRun"):
#0  0x00007fb8ad1901d9 in waitpid () from /lib64/libpthread.so.0
#1  0x00007fb8a61e6ad7 in edm::service::cmssw_stacktrace_fork() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/pluginFWCoreServicesPlugins.so
#2  0x00007fb8a61e76ca in edm::service::InitRootHandlers::stacktraceHelperThread() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/pluginFWCoreServicesPlugins.so
#3  0x00007fb8ad788f90 in std::execute_native_thread_routine (__p=0x7fb89aaf7720) at ../../../../../libstdc++-v3/src/c++11/thread.cc:80
#4  0x00007fb8ad188ea5 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fb8aceb0b0d in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7fb8ab002740 (LWP 12054) "cmsRun"):
#0  0x00007fb8ad18ca35 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fb8ad783a7c in __gthread_cond_wait (__mutex=<optimized out>, __cond=<optimized out>) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_3_0_pre2-slc7_amd64_gcc10/build/CMSSW_12_3_0_pre2-build/BUILD/slc7_amd64_gcc10/external/gcc/10.3.0-84898dea653199466402e67d73657f10/gcc-10.3.0/obj/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu/bits/gthr-default.h:865
#2  std::condition_variable::wait (this=<optimized out>, __lock=...) at ../../../../../libstdc++-v3/src/c++11/condition_variable.cc:53
#3  0x00007fb87543fe53 in OscarMTProducer::produce(edm::Event&, edm::EventSetup const&) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/biglib/slc7_amd64_gcc10/pluginSimulation.so
#4  0x00007fb8af9a81e3 in edm::stream::EDProducerAdaptorBase::doEvent(edm::EventTransitionInfo const&, edm::ActivityRegistry*, edm::ModuleCallingContext const*) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/libFWCoreFramework.so
#5  0x00007fb8af98ac3f in edm::WorkerT<edm::stream::EDProducerAdaptorBase>::implDo(edm::EventTransitionInfo const&, edm::ModuleCallingContext const*) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/libFWCoreFramework.so
#6  0x00007fb8af8dab25 in decltype ({parm#1}()) edm::convertException::wrap<edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}>(edm::Worker::runModule<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*)::{lambda()#1}) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/libFWCoreFramework.so
#7  0x00007fb8af8dae13 in std::__exception_ptr::exception_ptr edm::Worker::runModuleAfterAsyncPrefetch<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >(std::__exception_ptr::exception_ptr, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::TransitionInfoType const&, edm::StreamID, edm::ParentContext const&, edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1>::Context const*) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/libFWCoreFramework.so
#8  0x00007fb8af8dd546 in edm::Worker::RunModuleTask<edm::OccurrenceTraits<edm::EventPrincipal, (edm::BranchActionType)1> >::execute() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/libFWCoreFramework.so
#9  0x00007fb8aface879 in tbb::detail::d1::function_task<edm::WaitingTaskList::announce()::{lambda()#1}>::execute(tbb::detail::d1::execution_data&) () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/libFWCoreConcurrency.so
#10 0x00007fb8adfb3bec in tbb::detail::r1::task_dispatcher::local_wait_for_all<false, tbb::detail::r1::external_waiter> (waiter=..., t=0x7fb8a994a500, this=0x7fb8a993fe00) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_6_0_pre3-slc7_amd64_gcc10/build/CMSSW_12_6_0_pre3-build/BUILD/slc7_amd64_gcc10/external/tbb/v2021.5.0-36aff7df349e0716374b1668ccd18e17/tbb-v2021.5.0/src/tbb/task_dispatcher.h:322
#11 tbb::detail::r1::task_dispatcher::local_wait_for_all<tbb::detail::r1::external_waiter> (waiter=..., t=<optimized out>, this=0x7fb8a993fe00) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_6_0_pre3-slc7_amd64_gcc10/build/CMSSW_12_6_0_pre3-build/BUILD/slc7_amd64_gcc10/external/tbb/v2021.5.0-36aff7df349e0716374b1668ccd18e17/tbb-v2021.5.0/src/tbb/task_dispatcher.h:463
#12 tbb::detail::r1::task_dispatcher::execute_and_wait (t=<optimized out>, wait_ctx=..., w_ctx=...) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_6_0_pre3-slc7_amd64_gcc10/build/CMSSW_12_6_0_pre3-build/BUILD/slc7_amd64_gcc10/external/tbb/v2021.5.0-36aff7df349e0716374b1668ccd18e17/tbb-v2021.5.0/src/tbb/task_dispatcher.cpp:168
#13 0x00007fb8af85522d in edm::FinalWaitingTask::wait() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/libFWCoreFramework.so
#14 0x00007fb8af83d310 in edm::EventProcessor::processRuns() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/libFWCoreFramework.so
#15 0x00007fb8af849da1 in edm::EventProcessor::runToCompletion() () from /cvmfs/cms.cern.ch/slc7_amd64_gcc10/cms/cmssw/CMSSW_13_0_0_pre1/lib/slc7_amd64_gcc10/libFWCoreFramework.so
#16 0x000000000040a266 in tbb::detail::d1::task_arena_function<main::{lambda()#1}::operator()() const::{lambda()#1}, void>::operator()() const ()
#17 0x00007fb8adfa20eb in tbb::detail::r1::task_arena_impl::execute (ta=..., d=...) at /data/cmsbld/jenkins/workspace/auto-builds/CMSSW_12_6_0_pre3-slc7_amd64_gcc10/build/CMSSW_12_6_0_pre3-build/BUILD/slc7_amd64_gcc10/external/tbb/v2021.5.0-36aff7df349e0716374b1668ccd18e17/tbb-v2021.5.0/src/tbb/arena.cpp:698
#18 0x000000000040b094 in main::{lambda()#1}::operator()() const ()
#19 0x000000000040971c in main ()

Current Modules:

Module: non-CMSSW (crashed)

A fatal system signal has occurred: segmentation violation

@clacaputo
Copy link
Contributor

I tried running the workflow on lxplus with CMSSW_13_0_0_pre1, but I see some weird crashes.
Do you understand this crash?

Hi @kakwok , if I run runTheMatrix.py -l 11834.21 --ibeos, I can't reproduce the error on lxplus. Could you please provide me with the commands you used to run the workflow?

@kakwok
Copy link
Contributor Author

kakwok commented Dec 13, 2022

@clacaputo I ran runTheMatrix.py -l 11834.21 --command=" -n 500"
and here's the cmdLog generated

 cmsDriver.py TTbar_14TeV_TuneCP5_cfi  -s GEN,SIM -n 10 --conditions auto:phase1_2022_realistic --beamspot Realistic25ns13p6TeVEarly2022Collision --datatier GEN-SIM --eventcontent FEVTDEBUG --geometry DB:Extended --era Run3 --relval 9000,100  -n 500 --fileout file:step1.root  > step1_TTbar_14TeV+2021PU_ProdLike+TTbar_14TeV_TuneCP5_GenSim+DigiPU+RecoNanoPU+MiniAODPU+NanoPU.log  2>&1

@clacaputo
Copy link
Contributor

@clacaputo I ran runTheMatrix.py -l 11834.21 --command=" -n 500" and here's the cmdLog generated

 cmsDriver.py TTbar_14TeV_TuneCP5_cfi  -s GEN,SIM -n 10 --conditions auto:phase1_2022_realistic --beamspot Realistic25ns13p6TeVEarly2022Collision --datatier GEN-SIM --eventcontent FEVTDEBUG --geometry DB:Extended --era Run3 --relval 9000,100  -n 500 --fileout file:step1.root  > step1_TTbar_14TeV+2021PU_ProdLike+TTbar_14TeV_TuneCP5_GenSim+DigiPU+RecoNanoPU+MiniAODPU+NanoPU.log  2>&1

Please add --ibeos: runTheMatrix.py -l 11834.21 --ibeos --command=" -n 500".
I've tested it successfully on lxplus

@kakwok
Copy link
Contributor Author

kakwok commented Jan 4, 2023

Hi @clacaputo,
Thanks! Turns out I was running into some disk-space issue in my work area.

edmFileUtil step3.root 
step3.root (1 runs, 1 lumis, 500 events, 317159504 bytes)
edmFileUtil step3_noRechit.root
step3_noRechit.root (1 runs, 1 lumis, 500 events, 314188527 bytes)

The size increase is ~1% for the AOD output with the added DT and CSC rechits.
This confirms what we have tested earlier with bparking dataset.

@clacaputo
Copy link
Contributor

Hi @kakwok , thanks a lot for the check. As discussed during the RECO meeting on 9th Dec 2022, It would be great to save a "skimmed" version of the rec-hits, with just the info that you really use.
Maybe DT and CSC reco contacts @namapane and @ptcox can comment on it

@namapane
Copy link
Contributor

namapane commented Jan 9, 2023

Hi @clacaputo, all
I did not follow the discussion prior to your heads up, but since I'm asked for comments, I can just say that rechits were intentionally left out since they can be re-made from the RAW if that is required, which is what we usually do for special use cases like e.g. resolution studies.
However, if the increase in space is considered acceptable, I surely don't have objections
Regarding "skimming", I can't imagine a way of making a selection that wouldn't be too analysis-specific; also, the content of rechits is very minimal so there is little information to be dropped. Anyhow if there are specific proposals I can surely have a look.

@arturapresyan
Copy link

Hi @clacaputo @namapane : indeed, I agree with Nicola, skimming proposals would drop potentially critical information, and we will be forced again to go back to RAW to develop the analysis and improvements. The Muon Detector Shower signature, and the clustering algorithms are still very new and we think there are ways to improve them. Saving the rechits will enable the collaboration to develop new algorithms using low level rechit information. Could we proceed with that?

@ptcox
Copy link
Contributor

ptcox commented Jan 10, 2023

Hi all,
Like Nicola, I too have not been following this thread and I am not quite sure what I'm asked to comment on? CSC has never made use of AOD because it doesn't contain useful CSC information to 'do' anything. We always return to RAW (or RAW+RECO if such a tier exists).

I certainly don't object to adding CSC rechits to AOD - as shown by the quantitative numbers quoted earlier in this thread they seem to give a negligible increase in size - and having them in AOD might even make AOD a useful data tier for CSC itself. (As an aside, I presume CSC segment and rechits - at least from reco'ed muons - are already in AOD?)

When discussing 'skimming rechits' is the suggestion to i) skim all the CSC rechit information from specific events, or ii) skim partial rechit information from events (i.e. split the rechit data structure)?
I'd think splitting the data structure would lead to potential confusion about what exactly is IN a rechit, and that ambiguity is not something I'd like to support.
If one is going to just add rechits to specific events then those data clearly lose generality and are only going to be of interest to a specific analysis.

If there are specific questions you think I can address, please let me know.

@mandrenguyen
Copy link
Contributor

I certainly don't object to adding CSC rechits to AOD - as shown by the quantitative numbers quoted earlier in this thread they seem to give a negligible increase in size -

The reason that we are discussing this issue, is that a 1% increase in the size of AOD is not negligible. The collaboration is working extremely hard to reduce the size of our data, and every percent counts.
If there was a way to produce a reduced rec hit collection, as done for example for the ECAL, that would certainly be helpful.

@ptcox
Copy link
Contributor

ptcox commented Jan 10, 2023 via email

@sixie
Copy link

sixie commented Jan 10, 2023

Given what @ptcox and @namapane said above, I think it's not feasible to take partial information from the rechits only. As @arturapresyan said above, and was also presented in my talk when we met a few weeks ago, having this extra 1% size would allow the collaboration to significantly expand the long-lived particle search program in a way that would allow many additional groups and analyzers to contribute to that program. Without this addition, we are currently relying on myself only to be able to process the data with the needed information starting from RAW, which presents a significant bottle neck to fully exploit this new object/signature. By taking advantage of the automatic tape-staging request feature in CRAB, this extra 1% can be kept primarily on tape only and would only occupy disk-space temporarily following the CRAB tape-stage request and are automatically cleaned after a short period (I think it's 30 days or so). It would great if we can proceed with this change so that we can make it into the 2023 data and Monte Carlo production. Thanks!

@mandrenguyen
Copy link
Contributor

Storing all rechits in AOD is not ideal.
If there's a way to store a interesting subset of them, or partial or compressed information from them, it would be worth the extra effort to do it.
Barring that, is this intended as a temporary measure while the developments mentioned above by @arturapresyan take place, or are we intending to carry the muon rechits in AOD indefinitely?
If this is a temporary measure, it would be good to understand the plan for eventually storing more targeted information in AOD.

@arturapresyan
Copy link

Dear @mandrenguyen : yes, we will work with muon POG and DPG and EXO PAG to define shower objects that will eventually go into miniAOD. We need rechits in AOD so that we can develop those algorithms. Thanks for help!

@clacaputo
Copy link
Contributor

Thanks a lot @ptcox , @namapane for your comments.

@arturapresyan , we could merge this PR, but it is important to have a defined plan for the development of the "shower objects"

we will work with muon POG and DPG and EXO PAG to define shower objects that will eventually go into miniAOD. We need rechits in AOD so that we can develop those algorithms.

It would be good to have EPR tasks allocated for this

@arturapresyan
Copy link

Dear @clacaputo : ok, it's great to hear that you will merge this PR! Having the rechits in AOD will be critical for developments using new data. Thanks a lot!

@sixie
Copy link

sixie commented Jan 12, 2023

@clacaputo : And it would be great if some EPR could be assigned to this task so that we ensure it gets done.

@clacaputo
Copy link
Contributor

clacaputo commented Jan 13, 2023

+reconstruction

  • PR adds DT and CSC rechits to AOD
  • event size is increased by 1% (measured on 11834.21)
    • expand the long-lived exo research program
    • allows starting the development of a new algorithm for shower objects in muon chambers

@cmsbuild
Copy link
Contributor

This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @perrotta, @dpiparo, @rappoccio (and backports should be raised in the release meeting by the corresponding L2)

@rappoccio
Copy link
Contributor

I'm a bit confused here. I'm not really sure that a temporary data formats change that is expected to go away in the near future is optimal. Do we expect that this will subsequently disappear in favor of a reduced-size collection?

@clacaputo
Copy link
Contributor

Hi @rappoccio this PR should not change any data format, but save DT and CSC rec-hits in the AOD. These rec-hits will be used from exo people for new signature and for developing new algorithms for "muon shower" reconstruction

@perrotta
Copy link
Contributor

+1

  • With this PR the DT recHits are added to the AOD and RECO event contents, CSC recHits are added to the AOD event content (they were already included in the RECO event content); RPC and GEM recHits were already present in all those event contents.
  • DT and CSC recHits were already included in the AOD and RECO event contents of the bParking datasets
  • The increase of 1.2% (PR description) or 1% (@clacaputo from wf 11834.21) in the size of the APD datasets is deemed acceptable by reco given the advantage of using those recHits in the analyses and for the development of new algorithms
  • As of now it is not clear whether this expansion of the size of the saved data will be recovered once the new algorithms for "muon shower" reconstruction will have been developed and their outcome saved in AOD instead of these recHits

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet