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

[PWGJE] Add hadron-photon correlation analysis task #8727

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pestratm
Copy link
Contributor

Analysis task for angular correlations between trigger hadrons (as proxy for jets) and photons
@fjonasALICE @nzardosh

Service<o2::framework::O2DatabasePDG> pdg;

// Constrain azimuthal angle and project it to range [lower_phi, lower_phi + pi/2]
float constrainAngle(float phi, float lower_phi)
Copy link
Collaborator

Choose a reason for hiding this comment

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

you should use the function in recodecay for this

bool initTrack(const T& track, bool checkIsGlobalTrack = true)
{

if (checkIsGlobalTrack && !track.isGlobalTrack()) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

what is isGlobalTrack? is this part of the track selection? If so you can use the format in the jetderiveddata to check this


/********************************************** DATA ***********************************************/

void processTrigsReco(Join<Collisions, EvSels>::iterator const& collision,
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is there a reason for not using the JE derived format?

Copy link
Collaborator

Choose a reason for hiding this comment

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

this applies to all the process functions

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It was mainly because I wasn't sure how to use the jetderiveddata together with PCM and with TPC Pid

Copy link
Contributor Author

@pestratm pestratm Nov 29, 2024

Choose a reason for hiding this comment

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

I have now changed it to use jetderiveddata

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Edit: *now, not *no

@nzardosh
Copy link
Collaborator

thanks for making the PR! I have left some general comments above

@pestratm pestratm force-pushed the chargedjetsphotoncorrelation branch 3 times, most recently from 047b644 to c52573a Compare November 29, 2024 13:36
@pestratm
Copy link
Contributor Author

pestratm commented Dec 3, 2024

There is an issue in eventSelectionQa when trying to build in macOS macOS-arm. Is that an issue from my side? Judging from the O2 Analysis Mattermost channel, it seems like I am not the only one with this issue

@mhemmer-cern
Copy link
Collaborator

mhemmer-cern commented Dec 3, 2024

The error message indicates that you are mixing up a std:: vector of type unsigned long and one of type unsigned long long. Please check:

## sw/BUILD/O2Physics-latest/log
--
[242/2056] Building CXX object DPG/Tasks/AOTEvent/CMakeFiles/O2Physicsexe-analysis-event-selection-qa.dir/eventSelectionQa.cxx.o
FAILED: DPG/Tasks/AOTEvent/CMakeFiles/O2Physicsexe-analysis-event-selection-qa.dir/eventSelectionQa.cxx.o 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DBOOST_ASIO_HAS_HAS_STD_CHRONO -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_CONTAINER_DYN_LINK -DBOOST_CONTAINER_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DDPL_ENABLE_BACKTRACE -DFAIRMQ_HAS_STD_FILESYSTEM=1 -DFAIRMQ_HAS_STD_PMR=0 -DFMT_SHARED -DRANS_ENABLE_JSON -I/Volumes/build/alice-ci-workdir/o2physics/sw/SOURCES/O2Physics/8727/0/Common/Core -I/Volumes/build/alice-ci-workdir/o2physics/sw/SOURCES/O2Physics/8727/0 -I/Volumes/build/alice-ci-workdir/o2physics/sw/SOURCES/O2Physics/8727/0/Common/CCDB -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/O2/daily-20241202-0000-local1/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/Configuration/v2.8.0-local5/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/boost/v1.83.0-alice2-local3/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/Monitoring/v3.18.1-local12/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/curl/7.70.0-local5/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/FairMQ/v1.8.4-local8/include/fairmq -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/FairMQ/v1.8.4-local8/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/FairLogger/v1.11.1-local8/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/fmt/10.1.1-local6/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/ROOT/v6-32-06-alice1-local5/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/O2/daily-20241202-0000-local1/include/GPU -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/RapidJSON/v1.1.0-alice2-local5/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/arrow/v17.0.0-alice6-local3/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/ms_gsl/4.0.0-local4/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/Clang/v18.1.8-local1/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/libuv/v1.40.0-local6/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/FairRoot/v18.4.9-alice3-local52/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/VMC/v2-0-local46/include/vmc -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/Vc/1.4.1-local5/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/TBB/v2021.5.0-local5/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/libjalienO2/0.1.4-local6/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/abseil/20220623.1-local5/include -isystem /Volumes/build/alice-ci-workdir/o2physics/sw/osx_arm64/Common-O2/v1.6.3-local1/include -fPIC -O2 -std=c++20 -Wall -Wextra -O2 -g -DNDEBUG -pipe -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk -mmacosx-version-min=14.0 -MD -MT DPG/Tasks/AOTEvent/CMakeFiles/O2Physicsexe-analysis-event-selection-qa.dir/eventSelectionQa.cxx.o -MF DPG/Tasks/AOTEvent/CMakeFiles/O2Physicsexe-analysis-event-selection-qa.dir/eventSelectionQa.cxx.o.d -o DPG/Tasks/AOTEvent/CMakeFiles/O2Physicsexe-analysis-event-selection-qa.dir/eventSelectionQa.cxx.o -c /Volumes/build/alice-ci-workdir/o2physics/sw/SOURCES/O2Physics/8727/0/DPG/Tasks/AOTEvent/eventSelectionQa.cxx
/Volumes/build/alice-ci-workdir/o2physics/sw/SOURCES/O2Physics/8727/0/DPG/Tasks/AOTEvent/eventSelectionQa.cxx:584:31: error: no viable conversion from 'vector<unsigned long>' to 'vector<uint64_t>'
        std::vector<uint64_t> itsDeadMapOrbits = itsDeadMap->getEvolvingMapKeys(); // roughly every second, ~350 TFs = 350x32 orbits
                              ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk/usr/include/c++/v1/vector:458:57: note: candidate constructor not viable: no known conversion from 'std::vector<unsigned long>' to 'const vector<unsigned long long> &' for 1st argument
--
[251/2056] Building CXX object DPG/Tasks/AOTEvent/CMakeFiles/O2Physicsexe-analysis-detector-occupancy-qa.dir/detectorOccupancyQa.cxx.o
[252/2056] Building CXX object DPG/Tasks/AOTTrack/V0Cascades/CMakeFiles/O2Physicsexe-analysis-perf-k0s-resolution.dir/perfK0sResolution.cxx.o
[253/2056] Building CXX object DPG/Tasks/AOTTrack/PID/TPC/CMakeFiles/O2Physicsexe-analysis-pid-tpc-qa.dir/qaPIDTPC.cxx.o
ninja: build stopped: subcommand failed.
--

Since you didn't change the code there I assume that there might have been an update on the arm side and it's more strict or something.

@pestratm
Copy link
Contributor Author

pestratm commented Dec 3, 2024

I am not sure where this could be mixed up. I only use two vectors in my task (of type double for histogram binning, unrelated to eventselection-qa). For the event selection, I use the general event selection for jet derived data:

Configurable<std::string> eventSelections{"eventSelections", "sel8", "choose event selection"};

  int eventSelection = -1;

  void init(o2::framework::InitContext&)
  {
    eventSelection = jetderiveddatautilities::initialiseEventSelection(static_cast<std::string>(eventSelections));
  }
  
    void processTrigsMCReco(JCollision const& collision,
                          Join<JTracks, JMcTrackLbs> const& tracks,
                          JMcParticles const&)
  {
    if (!jetderiveddatautilities::selectCollision(collision, eventSelection)) {
      return;
    }
    ...
  }

@nzardosh Were there any major changes with the jet event selection or anything else I did not consider?

@nzardosh
Copy link
Collaborator

nzardosh commented Dec 3, 2024

I think its not your fault, its just that your build is compiling that header since its included in your task. You should contact the people responsible for that task to fix it

@pestratm pestratm force-pushed the chargedjetsphotoncorrelation branch 3 times, most recently from cf614cb to 2ac6884 Compare December 6, 2024 14:15
@pestratm
Copy link
Contributor Author

pestratm commented Dec 6, 2024

Changed the pt axes to be configurable

@pestratm pestratm force-pushed the chargedjetsphotoncorrelation branch from 2ac6884 to 1c67576 Compare December 6, 2024 15:04
@pestratm
Copy link
Contributor Author

pestratm commented Dec 6, 2024

Fixed issue where all V0s where taken, not just from the respective collision

@nzardosh nzardosh self-requested a review December 7, 2024 07:59
@alibuild
Copy link
Collaborator

Error while checking build/O2Physics/o2 for 1c67576 at 2024-12-12 15:28:

## sw/BUILD/O2Physics-latest/log
/sw/SOURCES/O2Physics/8727-slc9_x86-64/0/Common/TableProducer/Converters/trackQA002Converter.cxx:21:17: error: 'TracksQA_002' is not a member of 'o2::aod'; did you mean 'TracksQA_001'?
/sw/SOURCES/O2Physics/8727-slc9_x86-64/0/Common/TableProducer/Converters/trackQA002Converter.cxx:21:29: error: template argument 1 is invalid
/sw/SOURCES/O2Physics/8727-slc9_x86-64/0/Common/TableProducer/Converters/trackQA002Converter.cxx:25:32: error: 'tracksQA_000' was not declared in this scope; did you mean 'tracksQA_002'?
/sw/SOURCES/O2Physics/8727-slc9_x86-64/0/Common/TableProducer/Converters/trackQA002Converter.cxx:59:32: error: 'tracksQA_001' was not declared in this scope; did you mean 'tracksQA_002'?
ninja: build stopped: subcommand failed.

Full log here.

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

Successfully merging this pull request may close these issues.

4 participants