Test for DecayTreeFitterAlg
Test for DecayTreeFitterAlg and subsequent functors. Based on Phys!970 (merged) and Rec!2504 (merged)
Merge request reports
Activity
mentioned in merge request Phys!970 (merged)
added lhcb-run3-cleanup label
- [2021-07-27 11:42] Validation started with lhcb-master-mr#2618
- [2021-07-28 00:23] Validation started with lhcb-run3-cleanup#271
- [2021-07-29 00:48] Validation started with lhcb-run3-cleanup#272
- [2021-07-30 00:58] Validation started with lhcb-run3-cleanup#273
- [2021-08-03 00:34] Validation started with lhcb-run3-cleanup#274
- [2021-08-03 00:43] Validation started with lhcb-run3-cleanup#274
- [2021-08-04 01:09] Validation started with lhcb-run3-cleanup#275
- [2021-08-05 00:52] Validation started with lhcb-run3-cleanup#276
- [2021-08-06 00:46] Validation started with lhcb-run3-cleanup#277
- [2021-08-07 01:38] Validation started with lhcb-run3-cleanup#278
- [2021-08-08 00:32] Validation started with lhcb-run3-cleanup#279
- [2021-08-08 00:46] Validation started with lhcb-run3-cleanup#279
- [2021-08-10 00:47] Validation started with lhcb-run3-cleanup#280
- [2021-08-11 00:54] Validation started with lhcb-run3-cleanup#281
- [2021-08-12 00:45] Validation started with lhcb-run3-cleanup#282
- [2021-08-13 00:44] Validation started with lhcb-run3-cleanup#283
- [2021-08-14 00:37] Automatic merge failed in [lhcb-run3-cleanup#284](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/284/DaVinci/checkout
- [2021-08-17 00:37] Automatic merge failed in [lhcb-run3-cleanup#285](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/285/DaVinci/checkout
- [2021-08-18 01:13] Automatic merge failed in [lhcb-run3-cleanup#286](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/286/DaVinci/checkout
- [2021-08-19 00:58] Automatic merge failed in [lhcb-run3-cleanup#287](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/287/DaVinci/checkout
- [2021-08-20 01:21] Automatic merge failed in [lhcb-run3-cleanup#288](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/288/DaVinci/checkout
- [2021-08-21 01:08] Automatic merge failed in [lhcb-run3-cleanup#289](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/289/DaVinci/checkout
- [2021-08-22 00:31] Automatic merge failed in [lhcb-run3-cleanup#290](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/290/DaVinci/checkout
- [2021-08-24 00:52] Automatic merge failed in [lhcb-run3-cleanup#291](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/291/DaVinci/checkout
- [2021-08-25 00:58] Automatic merge failed in [lhcb-run3-cleanup#292](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/292/DaVinci/checkout
- [2021-08-26 00:50] Automatic merge failed in [lhcb-run3-cleanup#293](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/293/DaVinci/checkout
- [2021-08-27 00:44] Automatic merge failed in [lhcb-run3-cleanup#294](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/294/DaVinci/checkout
- [2021-08-28 00:53] Automatic merge failed in [lhcb-run3-cleanup#295](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/295/DaVinci/checkout
- [2021-08-30 00:43] Automatic merge failed in [lhcb-run3-cleanup#296](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/296/DaVinci/checkout
- [2021-09-01 01:02] Automatic merge failed in [lhcb-run3-cleanup#297](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/297/DaVinci/checkout
- [2021-09-02 00:57] Automatic merge failed in [lhcb-run3-cleanup#298](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/298/DaVinci/checkout
- [2021-09-03 01:02] Automatic merge failed in [lhcb-run3-cleanup#299](https://lhcb-nightlies.web.cern.ch/nightly/lhcb-run3-cleanup/299/DaVinci/checkout
- [2021-09-04 01:14] Validation started with lhcb-run3-cleanup#300
- [2021-09-06 00:37] Validation started with lhcb-run3-cleanup#301
- [2021-09-07 01:06] Validation started with lhcb-run3-cleanup#302
- [2021-09-08 00:54] Validation started with lhcb-run3-cleanup#303
- [2021-09-09 00:56] Validation started with lhcb-run3-cleanup#304
- [2021-09-10 00:59] Validation started with lhcb-run3-cleanup#305
- [2021-09-11 00:50] Validation started with lhcb-run3-cleanup#306
- [2021-09-12 00:19] Validation started with lhcb-run3-cleanup#307
- [2021-09-13 00:39] Validation started with lhcb-run3-cleanup#308
- [2021-09-14 00:48] Validation started with lhcb-run3-cleanup#309
- [2021-09-15 00:56] Validation started with lhcb-run3-cleanup#310
- [2021-09-16 00:57] Validation started with lhcb-run3-cleanup#311
- [2021-09-17 00:58] Validation started with lhcb-run3-cleanup#312
- [2021-09-18 00:57] Validation started with lhcb-run3-cleanup#313
- [2021-09-19 00:37] Validation started with lhcb-run3-cleanup#314
- [2021-09-20 00:42] Validation started with lhcb-run3-cleanup#315
- [2021-09-21 00:54] Validation started with lhcb-run3-cleanup#316
- [2021-09-22 00:55] Validation started with lhcb-run3-cleanup#317
- [2021-09-23 00:51] Validation started with lhcb-run3-cleanup#318
- [2021-09-24 01:02] Validation started with lhcb-run3-cleanup#319
- [2021-09-25 00:47] Validation started with lhcb-run3-cleanup#320
- [2021-09-27 00:36] Validation started with lhcb-run3-cleanup#321
- [2021-09-28 00:47] Validation started with lhcb-run3-cleanup#322
- [2021-09-29 00:44] Validation started with lhcb-run3-cleanup#323
- [2021-09-30 00:56] Validation started with lhcb-run3-cleanup#324
- [2021-10-01 01:11] Validation started with lhcb-run3-cleanup#325
- [2021-10-02 00:45] Validation started with lhcb-run3-cleanup#326
- [2021-10-03 00:27] Validation started with lhcb-run3-cleanup#327
- [2021-10-04 00:34] Validation started with lhcb-run3-cleanup#328
- [2021-10-06 00:44] Validation started with lhcb-run3-cleanup#330
- [2021-10-08 00:11] Validation started with lhcb-run3-cleanup#332
- [2021-10-10 11:16] Validation started with lhcb-run3-cleanup#334
- [2021-10-11 00:56] Validation started with lhcb-run3-cleanup#335
- [2021-10-12 01:07] Validation started with lhcb-run3-cleanup#336
- [2021-10-13 00:47] Validation started with lhcb-run3-cleanup#337
- [2021-10-14 00:54] Validation started with lhcb-run3-cleanup#338
- [2021-10-15 00:32] Validation started with lhcb-run3-cleanup#339
Edited by Software for LHCb- Resolved by Eduardo Rodrigues
mentioned in merge request Rec!2504 (merged)
added 11 commits
-
ad4781b2...6a182a3a - 10 commits from branch
master
- 64e38add - Move to new options
-
ad4781b2...6a182a3a - 10 commits from branch
added 1 commit
- b237c419 - This cofnigures but DecayTreeFitterAlg crashes
mentioned in issue Analysis#17 (closed)
removed lhcb-run3-cleanup label
added 11 commits
-
727c85a0...80b363a2 - 10 commits from branch
master
- 434849b4 - Merge branch 'master' into pkoppenb-DecayTreeFitterAlg
-
727c85a0...80b363a2 - 10 commits from branch
added 5 commits
-
31bba576...2bfff864 - 4 commits from branch
master
- 2ad791e9 - git statusMerge branch 'master' into pkoppenb-DecayTreeFitterAlg
-
31bba576...2bfff864 - 4 commits from branch
With Rec@8f240165 I get
FunctorFactory INFO Cache miss for functor: ::Functors::Adapters::ParticleMapper<>( /* TES location of relation table */ std::string{"/Event/DecayTreeFitterAlg/OutputRelations"} ), now trying cling with headers [<string>, Event/Particle.h, Functors/Adapters.h] input_line_459:9:176: error: no member named 'ParticleMapper' in namespace 'Functors::Adapters' std::unique_ptr<Functors::AnyFunctor> functor_0xdacc4462ac30ad0e_cling() { return std::make_unique<Functors::Functor<std::any (LHCb::Particle const&)>>( ::Functors::Adapters::ParticleMapper<>( /* TES location of relation table */ std::string{"/Event/DecayTreeFitterAlg/OutputRelations"} ) ); } ~~~~~~~~~~~~~~~~~~~~~~^ input_line_459:9:191: error: expected expression std::unique_ptr<Functors::AnyFunctor> functor_0xdacc4462ac30ad0e_cling() { return std::make_unique<Functors::Functor<std::any (LHCb::Particle const&)>>( ::Functors::Adapters::ParticleMapper<>( /* TES location of relation table */ std::string{"/Event/DecayTreeFitterAlg/OutputRelations"} ) ); } ^ FunctorFactory INFO Code we attempted to JIT compile was: #pragma cling optimize(3) #pragma cling load("TrackKernel") #ifndef GAUDI_V20_COMPAT #define GAUDI_V20_COMPAT #endif #include <string> #include "Event/Particle.h" #include "Functors/Adapters.h" std::unique_ptr<Functors::AnyFunctor> functor_0xdacc4462ac30ad0e_cling() { return std::make_unique<Functors::Functor<std::any (LHCb::Particle const&)>>( ::Functors::Adapters::ParticleMapper<>( /* TES location of relation table */ std::string{"/Event/DecayTreeFitterAlg/OutputRelations"} ) ); } auto const functor_0xdacc4462ac30ad0e_cling_factory_ptr = functor_0xdacc4462ac30ad0e_cling; DimuonsTuple FATAL Exception with tag=FunctorFactory::get<Functors::Functor<std::any (LHCb::Particle const&)>> is caught
The good news is that is caught the TES location /Event/DecayTreeFitterAlg/OutputRelations. But then it doesn't like the rest.
Adding @graven to participants
requested review from @graven
added 3 commits
-
2ad791e9...853a1884 - 2 commits from branch
master
- a49df6e5 - Merge branch 'master' into pkoppenb-DecayTreeFitterAlg
-
2ad791e9...853a1884 - 2 commits from branch
Indeed. It was a red herring. The DaVinci test initialises correctly with Rec!2504 (1fd0e12a)
Edited by Patrick KoppenburgNice work! Does the test include the results for all of the different PVs in the refitting? It's not clear to me whether this variable is still an array :-) (and how do you access the DTF chi2?)
Edited by Laurent Dufour@pkoppenb, so you're not accessing your DTF pT via a/the functor? Got me perplexed. But I can wait for the magic to be displayed soon ... looking really forward to it :-).
Not yet. We did a design session at the whiteboard with @graven. We decided to factorise the problem into two steps:
- Make a functor that accesses the related particle and returns pt
- Replace pt by a functor PT, or any functor you like.
(Now I am surprised Gerhard didn't mention "divide and conquer" when suggesting that :-) )
Step 1 is complete. Next week I'll get to step 2. It was useful to split the problem as it identified that we need two functions. Now I need to template them by (or ideally only the outer one).
One problem is that TestFunctors.cpp in Rec has no access to the Gaudi TES and this cannot really test the functor, just make sure it complies. Hence we need the chain to work up to DaVini to be sure it's OK.
Edited by Patrick Koppenburg