Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
777 changes: 777 additions & 0 deletions PWGEM/Dilepton/Core/DileptonProducer.h

Large diffs are not rendered by default.

40 changes: 39 additions & 1 deletion PWGEM/Dilepton/DataModel/dileptonTables.h
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ DECLARE_SOA_TABLE(EMEoIs, "AOD", "EMEOI", //! joinable to aod::Collisions in cre
using EMEoI = EMEoIs::iterator;

DECLARE_SOA_TABLE(EMEventNormInfos, "AOD", "EMEVENTNORMINFO", //! event information for normalization
o2::soa::Index<>, evsel::Alias, evsel::Selection, evsel::Rct, emevent::PosZint16, cent::CentFT0C, emevent::PosZ<emevent::PosZint16>, emevent::Sel8<evsel::Selection>);
o2::soa::Index<>, evsel::Alias, evsel::Selection, evsel::Rct, emevent::PosZint16, cent::CentFT0C, emevent::PosZ<emevent::PosZint16>, emevent::Sel8<evsel::Selection>, o2::soa::Marker<1>);
using EMEventNormInfo = EMEventNormInfos::iterator;

namespace emmcevent
Expand Down Expand Up @@ -937,6 +937,44 @@ DECLARE_SOA_TABLE(EMPrimaryTrackEMEventIdsTMP, "AOD", "PRMTRKEVIDTMP", track::Co
// iterators
using EMPrimaryTrackEMEventIdTMP = EMPrimaryTrackEMEventIdsTMP::iterator;

namespace emthinevent
{
DECLARE_SOA_COLUMN(EP2, ep2, float); //!
} // namespace emthinevent
DECLARE_SOA_TABLE_VERSIONED(EMThinEvents_000, "AOD", "EMTHINEVENT", 0, //! Thin event information table
o2::soa::Index<>, bc::RunNumber, bc::GlobalBC, timestamp::Timestamp, collision::PosZ,
evsel::NumTracksInTimeRange, evsel::SumAmpFT0CInTimeRange, cent::CentFT0C, emthinevent::EP2);
using EMThinEvents = EMThinEvents_000;
using EMThinEvent = EMThinEvents::iterator;

DECLARE_SOA_TABLE(EMThinEventNormInfos, "AOD", "EMTHINEVENTNORM", //! event information for normalization
o2::soa::Index<>, evsel::Alias, evsel::Selection, evsel::Rct, collision::PosZ, cent::CentFT0C, emevent::Sel8<evsel::Selection>, o2::soa::Marker<2>);
using EMThinEventNormInfo = EMThinEventNormInfos::iterator;

namespace emdilepton
{
DECLARE_SOA_INDEX_COLUMN(EMThinEvent, emthinevent); //!
DECLARE_SOA_COLUMN(Pt1, pt1, float); //!
DECLARE_SOA_COLUMN(Eta1, eta1, float); //!
DECLARE_SOA_COLUMN(Phi1, phi1, float); //!
DECLARE_SOA_COLUMN(Sign1, sign1, short); //!
DECLARE_SOA_COLUMN(DCA1, dca1, float); //! DCA in sigma. Users should decide 3D or XY or Z
DECLARE_SOA_COLUMN(Pt2, pt2, float); //!
DECLARE_SOA_COLUMN(Eta2, eta2, float); //!
DECLARE_SOA_COLUMN(Phi2, phi2, float); //!
DECLARE_SOA_COLUMN(DCA2, dca2, float); //! DCA in sigma. Users should decide 3D or XY or Z
DECLARE_SOA_COLUMN(Sign2, sign2, short); //!
DECLARE_SOA_COLUMN(Weight, weight, float); //! possible pair weight
} // namespace emdilepton

DECLARE_SOA_TABLE_VERSIONED(EMDileptons_000, "AOD", "EMDILEPTON", 0,
o2::soa::Index<>, emdilepton::EMThinEventId,
emdilepton::Pt1, emdilepton::Eta1, emdilepton::Phi1, emdilepton::Sign1, emdilepton::DCA1,
emdilepton::Pt2, emdilepton::Eta2, emdilepton::Phi2, emdilepton::Sign2, emdilepton::DCA2,
emdilepton::Weight);
using EMDileptons = EMDileptons_000;
using EMDilepton = EMDileptons::iterator;

// Dummy data for MC
namespace emdummydata
{
Expand Down
10 changes: 10 additions & 0 deletions PWGEM/Dilepton/TableProducer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,13 @@ o2physics_add_dpl_workflow(filter-eoi
SOURCES filterEoI.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(dielectron-producer
SOURCES dielectronProducer.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2::DetectorsBase O2Physics::AnalysisCore O2Physics::PWGEMDileptonCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(dimuon-producer
SOURCES dimuonProducer.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2::DetectorsBase O2Physics::AnalysisCore O2Physics::PWGEMDileptonCore
COMPONENT_NAME Analysis)
26 changes: 26 additions & 0 deletions PWGEM/Dilepton/TableProducer/dielectronProducer.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
//
// ========================
//
// This code is for dielectron analyses.
// Please write to: daiki.sekihata@cern.ch

#include "PWGEM/Dilepton/Core/DileptonProducer.h"

#include "Framework/ASoAHelpers.h"
#include "Framework/AnalysisTask.h"
#include "Framework/runDataProcessing.h"

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
return WorkflowSpec{adaptAnalysisTask<DileptonProducer<o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDielectron, FilteredMyElectrons>>(cfgc, TaskName{"dielectron-producer"})};
}
26 changes: 26 additions & 0 deletions PWGEM/Dilepton/TableProducer/dimuonProducer.cxx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
//
// This software is distributed under the terms of the GNU General Public
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
//
// In applying this license CERN does not waive the privileges and immunities
// granted to it by virtue of its status as an Intergovernmental Organization
// or submit itself to any jurisdiction.
//
// ========================
//
// This code is for dimuon analyses.
// Please write to: daiki.sekihata@cern.ch

#include "PWGEM/Dilepton/Core/DileptonProducer.h"

#include "Framework/ASoAHelpers.h"
#include "Framework/AnalysisTask.h"
#include "Framework/runDataProcessing.h"

WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)
{
return WorkflowSpec{adaptAnalysisTask<DileptonProducer<o2::aod::pwgem::dilepton::utils::pairutil::DileptonPairType::kDimuon, FilteredMyMuons>>(cfgc, TaskName{"dimuon-producer"})};
}
5 changes: 5 additions & 0 deletions PWGEM/Dilepton/Tasks/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -175,3 +175,8 @@ o2physics_add_dpl_workflow(evaluate-acceptance
SOURCES evaluateAcceptance.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore
COMPONENT_NAME Analysis)

o2physics_add_dpl_workflow(dilepton-polarization
SOURCES dileptonPolarization.cxx
PUBLIC_LINK_LIBRARIES O2::Framework O2Physics::AnalysisCore
COMPONENT_NAME Analysis)
Loading
Loading