Skip to content

Create and pass v0 flag to AOD#12443

Merged
shahor02 merged 3 commits intoAliceO2Group:devfrom
shahor02:pr_v0flagAOD
Dec 13, 2023
Merged

Create and pass v0 flag to AOD#12443
shahor02 merged 3 commits intoAliceO2Group:devfrom
shahor02:pr_v0flagAOD

Conversation

@shahor02
Copy link
Copy Markdown
Collaborator

No description provided.

@shahor02 shahor02 requested review from a team as code owners December 11, 2023 22:00
}
if (posTableIdx != -1 and negTableIdx != -1 and collID != -1) {
v0Cursor(collID, posTableIdx, negTableIdx);
v0Cursor(collID, posTableIdx, negTableIdx, v0flags);
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ddobrigk at the moment compilation fails here with

/home/shahoian/alice/sw/SOURCES/O2/dev/0/Framework/Core/include/Framework/AnalysisHelpers.h: In instantiation of 'void o2::framework::WritingCursor<o2::soa::Table<C ...> >::operator()(T ...) [with T = {int, int, int, unsigned char}; PC = {o2::aod::v0::CollisionId, o2::aod::v0::PosTrackId, o2::aod::v0::NegTrackId}]':
/home/shahoian/alice/sw/SOURCES/O2/dev/0/Detectors/AOD/src/AODProducerWorkflowSpec.cxx:1180:15:   required from 'void o2::aodproducer::AODProducerWorkflowDPL::fillSecondaryVertices(const o2::globaltracking::RecoContainer&, V0CursorType&, CascadeCursorType&, Decay3BodyCursorType&) [with V0CursorType = o2::framework::Produces<o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::v0::CollisionId, o2::aod::v0::PosTrackId, o2::aod::v0::NegTrackId> >; CascadeCursorType = o2::framework::Produces<o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::cascade::CollisionId, o2::aod::cascade::V0Id, o2::aod::cascade::BachelorId> >; Decay3bodyCursorType = o2::framework::Produces<o2::soa::Table<o2::soa::Index<0, -1>, o2::aod::decay3body::CollisionId, o2::aod::decay3body::Track0Id, o2::aod::decay3body::Track1Id, o2::aod::decay3body::Track2Id> >]'
/home/shahoian/alice/sw/SOURCES/O2/dev/0/Detectors/AOD/src/AODProducerWorkflowSpec.cxx:2117:24:   required from here
/home/shahoian/alice/sw/SOURCES/O2/dev/0/Framework/Core/include/Framework/AnalysisHelpers.h:48:33: error: static assertion failed: Argument number mismatch
   48 |     static_assert(sizeof...(PC) == sizeof...(T), "Argument number mismatch");

@alibuild
Copy link
Copy Markdown
Collaborator

Error while checking build/O2/fullCI for d3b0c1e at 2023-12-12 01:04:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
/sw/SOURCES/O2/12443-slc8_x86-64/0/Framework/Core/include/Framework/AnalysisHelpers.h:48:33: error: static assertion failed: Argument number mismatch
/sw/SOURCES/O2/12443-slc8_x86-64/0/Framework/Core/include/Framework/AnalysisHelpers.h:50:11: error: no match for call to '(o2::framework::{anonymous}::memfun_type<void (o2::framework::TableBuilder::persist<int, int, int>(const std::array<const char*, 3>&)::<lambda(unsigned int, o2::framework::BuilderMaker<int>::FillType, o2::framework::BuilderMaker<int>::FillType, o2::framework::BuilderMaker<int>::FillType)>::*)(unsigned int, int, int, int) const>::type {aka std::function<void(unsigned int, int, int, int)>}) (int, const int&, const int&, const int&, const unsigned char&)'
ninja: build stopped: subcommand failed.

Full log here.

@ddobrigk
Copy link
Copy Markdown
Contributor

Thanks a lot, @shahor02 , indeed now the converter is merged so we can switch to V0s_002 and finish this!

@shahor02
Copy link
Copy Markdown
Collaborator Author

@ddobrigk did a test on 2 TFs, svertexer reports

Found 24988 V0s (19313445 fits), 629 cascades (622716 fits), 28009 3-body decays (7136737 fits), 89 strange tracks. Timing: CPU: 9.66 Real: 5.03 s
Found 25401 V0s (18288144 fits), 1011 cascades (688061 fits), 31994 3-body decays (7711925 fits), 72 strange tracks. Timing: CPU: 6.43 Real: 1.74 s

and O2v0_002->fV0Type shows (0: v0 saved for the only due to the cascade, 1: standalone v0, 3: standard v0 with photon-only test done due to the presence of TPC-only track):

v0flag

To me looks reasonable. The only doubt I have is: as far as I understand, in the old AODs the fV0Type will be set to 0, so all v0s will look like saved for the cascade only. Can avoid this with some defaults or shall I swap the bits in the AODProducer to have "0: standard v0, 1: photon v0, 2: v0 for cascade" ?

@ddobrigk
Copy link
Copy Markdown
Contributor

@ddobrigk did a test on 2 TFs, svertexer reports

Found 24988 V0s (19313445 fits), 629 cascades (622716 fits), 28009 3-body decays (7136737 fits), 89 strange tracks. Timing: CPU: 9.66 Real: 5.03 s
Found 25401 V0s (18288144 fits), 1011 cascades (688061 fits), 31994 3-body decays (7711925 fits), 72 strange tracks. Timing: CPU: 6.43 Real: 1.74 s

and O2v0_002->fV0Type shows (0: v0 saved for the only due to the cascade, 1: standalone v0, 3: standard v0 with photon-only test done due to the presence of TPC-only track):

v0flag

To me looks reasonable. The only doubt I have is: as far as I understand, in the old AODs the fV0Type will be set to 0, so all v0s will look like saved for the cascade only. Can avoid this with some defaults or shall I swap the bits in the AODProducer to have "0: standard v0, 1: photon v0, 2: v0 for cascade" ?

Hi @shahor02, no, this is unnecessary here because the default in case this isn't in the AO2D (i.e. for old AO2Ds) is defined in the V0 converter inside O2Physics and isn't necessarily zero. At the moment I set the default to 255, but actually now that we also incorporated the photons, I should set it simply to 1 to flag everything as a standard V0.

@alibuild
Copy link
Copy Markdown
Collaborator

Error while checking build/O2/fullCI for 22f2093 at 2023-12-13 11:57:

## sw/BUILD/O2-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'


## sw/BUILD/O2Physics-latest/log
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
c++: error: unrecognized command-line option '--rtlib=compiler-rt'
/sw/slc8_x86-64/O2/12443-slc8_x86-64-local1/include/Framework/AnalysisHelpers.h:48:33: error: static assertion failed: Argument number mismatch
/sw/slc8_x86-64/O2/12443-slc8_x86-64-local1/include/Framework/AnalysisHelpers.h:50:11: error: no match for call to '(o2::framework::{anonymous}::memfun_type<void (o2::framework::TableBuilder::persist<int, int, int, unsigned char>(const std::array<const char*, 4>&)::<lambda(unsigned int, o2::framework::BuilderMaker<int>::FillType, o2::framework::BuilderMaker<int>::FillType, o2::framework::BuilderMaker<int>::FillType, o2::framework::BuilderMaker<unsigned char>::FillType)>::*)(unsigned int, int, int, int, unsigned char) const>::type {aka std::function<void(unsigned int, int, int, int, unsigned char)>}) (int, const int&, const int&, const int&)'
/sw/slc8_x86-64/O2/12443-slc8_x86-64-local1/include/Framework/AnalysisHelpers.h:48:33: error: static assertion failed: Argument number mismatch
/sw/slc8_x86-64/O2/12443-slc8_x86-64-local1/include/Framework/AnalysisHelpers.h:50:11: error: no match for call to '(o2::framework::{anonymous}::memfun_type<void (o2::framework::TableBuilder::persist<int, int, int, unsigned char>(const std::array<const char*, 4>&)::<lambda(unsigned int, o2::framework::BuilderMaker<int>::FillType, o2::framework::BuilderMaker<int>::FillType, o2::framework::BuilderMaker<int>::FillType, o2::framework::BuilderMaker<unsigned char>::FillType)>::*)(unsigned int, int, int, int, unsigned char) const>::type {aka std::function<void(unsigned int, int, int, int, unsigned char)>}) (int, const int&, const long int&, const long int&)'
ninja: build stopped: subcommand failed.

Full log here.

@shahor02
Copy link
Copy Markdown
Collaborator Author

@ddobrigk the fullCI fails in the analysis, could you please check?
We should try to merge this PR this afternoon

@ddobrigk
Copy link
Copy Markdown
Contributor

@ddobrigk the fullCI fails in the analysis, could you please check? We should try to merge this PR this afternoon

Hi Ruben, yes, see here: AliceO2Group/O2Physics#4156

@shahor02
Copy link
Copy Markdown
Collaborator Author

tested locally, CIs failing due the fix in the O2Physics not merged yet.
Merging.

@shahor02 shahor02 merged commit 2fdcd65 into AliceO2Group:dev Dec 13, 2023
@shahor02 shahor02 deleted the pr_v0flagAOD branch December 13, 2023 13:53
chiarazampolli pushed a commit that referenced this pull request Dec 13, 2023
* Flag standalone and photon V0s in the V0Index

* Pass v0 flags to AOD

* Set v0s_002 as default

---------

Co-authored-by: shahoian <ruben.shahoyan@cern.ch>
andreasmolander pushed a commit to andreasmolander/AliceO2 that referenced this pull request Apr 12, 2024
* Flag standalone and photon V0s in the V0Index

* Pass v0 flags to AOD

* Set v0s_002 as default

---------

Co-authored-by: shahoian <ruben.shahoyan@cern.ch>
andreasmolander pushed a commit to andreasmolander/AliceO2 that referenced this pull request Apr 12, 2024
* Flag standalone and photon V0s in the V0Index

* Pass v0 flags to AOD

* Set v0s_002 as default

---------

Co-authored-by: shahoian <ruben.shahoyan@cern.ch>
mwinn2 pushed a commit to mwinn2/AliceO2 that referenced this pull request Apr 25, 2024
* Flag standalone and photon V0s in the V0Index

* Pass v0 flags to AOD

* Set v0s_002 as default

---------

Co-authored-by: shahoian <ruben.shahoyan@cern.ch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants