Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-07-14 08:52:31

0001 /***********************************************************************************\
0002 * (c) Copyright 1998-2024 CERN for the benefit of the LHCb and ATLAS collaborations *
0003 *                                                                                   *
0004 * This software is distributed under the terms of the Apache version 2 licence,     *
0005 * copied verbatim in the file "LICENSE".                                            *
0006 *                                                                                   *
0007 * In applying this licence, CERN does not waive the privileges and immunities       *
0008 * granted to it by virtue of its status as an Intergovernmental Organization        *
0009 * or submit itself to any jurisdiction.                                             *
0010 \***********************************************************************************/
0011 #pragma once
0012 
0013 #include <Gaudi/Accumulators/AxisAsProperty.h>
0014 #include <Gaudi/Accumulators/HistogramWrapper.h>
0015 #include <Gaudi/Accumulators/StaticHistogram.h>
0016 
0017 namespace Gaudi::Accumulators {
0018 
0019   /// standard custom histogram. See HistogramWrapper and StaticHistogram for details
0020   template <unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double,
0021             typename AxisTupleType = make_tuple_t<Axis<Arithmetic>, ND>>
0022   using Histogram = HistogramWrapper<StaticHistogram<ND, Atomicity, Arithmetic, AxisTupleType>>;
0023 
0024   /// custom histogram with weight. See HistogramWrapper and StaticWeightedHistogram for details
0025   template <unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double,
0026             typename AxisTupleType = make_tuple_t<Axis<Arithmetic>, ND>>
0027   using WeightedHistogram = HistogramWrapper<StaticWeightedHistogram<ND, Atomicity, Arithmetic, AxisTupleType>>;
0028 
0029   /// custom profile histograming. See HistogramWrapper and StaticProfileHistogram for details
0030   template <unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double,
0031             typename AxisTupleType = make_tuple_t<Axis<Arithmetic>, ND>>
0032   using ProfileHistogram = HistogramWrapper<StaticProfileHistogram<ND, Atomicity, Arithmetic, AxisTupleType>>;
0033 
0034   /// custom weighted profile histogram. See HistogramWrapper and StaticWeightedProfileHistogram for details
0035   template <unsigned int ND, atomicity Atomicity = atomicity::full, typename Arithmetic = double,
0036             typename AxisTupleType = make_tuple_t<Axis<Arithmetic>, ND>>
0037   using WeightedProfileHistogram =
0038       HistogramWrapper<StaticWeightedProfileHistogram<ND, Atomicity, Arithmetic, AxisTupleType>>;
0039 
0040 } // namespace Gaudi::Accumulators