LCOV - code coverage report
Current view: top level - HLT/MUON - AliHLTMUONDecision.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 3 74 4.1 %
Date: 2016-06-14 17:26:59 Functions: 3 72 4.2 %

          Line data    Source code
       1             : // -*- Mode: C++ -*-
       2             : #ifndef ALIHLTMUONDECISION_H
       3             : #define ALIHLTMUONDECISION_H
       4             : /* This file is property of and copyright by the ALICE HLT Project        *
       5             :  * ALICE Experiment at CERN, All rights reserved.                         *
       6             :  * See cxx source for full Copyright notice                               */
       7             : 
       8             : // $Id$
       9             : 
      10             : ///
      11             : /// @file   AliHLTMUONDecision.h
      12             : /// @author Artur Szostak <artursz@iafrica.com>
      13             : /// @date   12 May 2008
      14             : /// @brief  Declaration of a dHLT decision object in ROOT object format.
      15             : ///
      16             : 
      17             : #include "TObject.h"
      18             : #include "TClonesArray.h"
      19             : 
      20             : class AliHLTMUONTrack;
      21             : class AliHLTMUONMansoTrack;
      22             : 
      23             : /**
      24             :  * AliHLTMUONDecision stores converted dHLT raw trigger decision data as a ROOT object.
      25             :  * Both AliHLTMUONSinglesDecisionBlockStruct and AliHLTMUONPairsDecisionBlockStruct
      26             :  * data blocks are converted into this class by the AliHLTMUONRootifierComponent.
      27             :  * This class is mainly for testing or as a helper object for dHLT specific analysis,
      28             :  * since it is sometimes easier to store and handle ROOT objects.
      29             :  */
      30             : class AliHLTMUONDecision : public TObject
      31             : {
      32             :         /**
      33             :          * Stream operator for usage with std::ostream classes.
      34             :          * Allows usage such as:
      35             :          *   AliHLTMUONDecision t; std::cout << t;
      36             :          */
      37             :         friend std::ostream& operator << (
      38             :                         std::ostream& stream,
      39             :                         const AliHLTMUONDecision& decision
      40             :                 );
      41             : 
      42             : public:
      43             : 
      44             :         /**
      45             :          * The AliTrackDecision class stores per track trigger information.
      46             :          */
      47             :         class AliTrackDecision : public TObject
      48             :         {
      49             :                 /**
      50             :                  * Stream operator for usage with std::ostream classes.
      51             :                  */
      52             :                 friend std::ostream& operator << (std::ostream& stream, const AliTrackDecision& decision);
      53             :         
      54             :         public:
      55             :                 
      56             :                 /**
      57             :                  * Constructor for new single track trigger decision object.
      58             :                  * \param pt  The calculated pT value used for the trigger decision.
      59             :                  * \param passedLowCut  Flag indicating if the track passed the low pT cut.
      60             :                  * \param passedHighCut  Flag indicating if the track passed the high pT cut.
      61             :                  * \param track  Pointer to the associated track object.
      62             :                  */
      63             :                 AliTrackDecision(
      64             :                                 Float_t pt = -1,
      65             :                                 Bool_t passedLowCut = kFALSE,
      66             :                                 Bool_t passedHighCut = kFALSE,
      67             :                                 const TObject* track = NULL
      68             :                         ) :
      69           0 :                         TObject(), fTrack(track), fPt(pt),
      70           0 :                         fPassedLowCut(passedLowCut), fPassedHighCut(passedHighCut)
      71           0 :                 {}
      72             :                 
      73             :                 /**
      74             :                  * Copy constructor performs shallow copy of object since we
      75             :                  * do not take ownership of the track object.
      76             :                  */
      77             :                 AliTrackDecision(const AliTrackDecision& obj) :
      78           0 :                         TObject(obj), fTrack(obj.fTrack), fPt(obj.fPt),
      79           0 :                         fPassedLowCut(obj.fPassedLowCut), fPassedHighCut(obj.fPassedHighCut)
      80           0 :                 {}
      81             :                 
      82             :                 /**
      83             :                  * Asignment operators performs shallow copy of object since we
      84             :                  * do not take ownership of the track object.
      85             :                  */
      86             :                 AliTrackDecision& operator = (const AliTrackDecision& obj)
      87             :                 {
      88           0 :                         if (this==&obj) return *this;
      89           0 :                         TObject::operator = (obj);
      90           0 :                         fTrack = obj.fTrack; fPt = obj.fPt;
      91           0 :                         fPassedLowCut = obj.fPassedLowCut; fPassedHighCut = obj.fPassedHighCut;
      92           0 :                         return *this;
      93           0 :                 }
      94             :                 
      95             :                 /**
      96             :                  * Default destructor.
      97             :                  */
      98           0 :                 virtual ~AliTrackDecision() {}
      99             :                 
     100             :                 /**
     101             :                  * Returns the track associated with the trigger decision or NULL if none found.
     102             :                  */
     103           0 :                 const TObject* Track() const { return fTrack; }
     104             :                 
     105             :                 /**
     106             :                  * Returns the track associated with the trigger decision as a Manso track object.
     107             :                  * NULL is returned if no track is found or the track object is not a Manso track.
     108             :                  */
     109             :                 const AliHLTMUONMansoTrack* MansoTrack() const;
     110             :                 
     111             :                 /**
     112             :                  * Returns the track associated with the trigger decision as a full track object.
     113             :                  * NULL is returned if no track is found or the track object is not a full track.
     114             :                  */
     115             :                 const AliHLTMUONTrack* FullTrack() const;
     116             :                 
     117             :                 /**
     118             :                  * Returns the calculated pT value used for the trigger decision.
     119             :                  */
     120           0 :                 Float_t Pt() const { return fPt; }
     121             :                 
     122             :                 /**
     123             :                  * Returns kTRUE if the track passed the low pT cut, else kFALSE.
     124             :                  */
     125           0 :                 Bool_t PassedLowPtCut() const { return fPassedLowCut; }
     126             :                 
     127             :                 /**
     128             :                  * Returns kTRUE if the track passed the high pT cut, else kFALSE.
     129             :                  */
     130           0 :                 Bool_t PassedHighPtCut() const { return fPassedHighCut; }
     131             :                 
     132             :                 /// Print method inherited from TObject.
     133             :                 virtual void Print(Option_t* option = NULL) const;
     134             :         
     135             :                 // Methods inherited from TObject
     136           0 :                 virtual Bool_t IsSortable() const { return kTRUE; }
     137             :                 Int_t Compare(const TObject* obj) const;
     138             : 
     139             :                 // Implement comparison operators.
     140             :                 bool operator == (const AliTrackDecision& d) const
     141             :                 {
     142           0 :                         return fTrack == d.fTrack and fPt == d.fPt
     143           0 :                                 and fPassedLowCut == d.fPassedLowCut
     144           0 :                                 and fPassedHighCut == d.fPassedHighCut;
     145             :                 }
     146             : 
     147             :                 bool operator != (const AliTrackDecision& d) const
     148             :                 {
     149           0 :                         return not this->operator == (d);
     150             :                 }
     151             :         
     152             :         private:
     153             :                 
     154             :                 const TObject* fTrack; ///< Track associated with this decision.
     155             :                 Float_t fPt; ///< Calculated pT value used for decision (GeV/c).
     156             :                 Bool_t fPassedLowCut; ///< Indicates if the track passed the low pT cut.
     157             :                 Bool_t fPassedHighCut; ///< Indicates if the track passed the high pT cut.
     158             :                 
     159           6 :                 ClassDef(AliHLTMUONDecision::AliTrackDecision, 4); // A single track dHLT trigger decision object.
     160             :         };
     161             :         
     162             :         /**
     163             :          * The AliPairDecision class stores trigger information about a track pair.
     164             :          */
     165             :         class AliPairDecision : public TObject
     166             :         {
     167             :                 /**
     168             :                  * Stream operator for usage with std::ostream classes.
     169             :                  */
     170             :                 friend std::ostream& operator << (std::ostream& stream, const AliPairDecision& decision);
     171             :         
     172             :         public:
     173             :                 
     174             :                 /**
     175             :                  * Constructor for new track pair trigger decision object.
     176             :                  * \param mass   The invariant mass of the track pair.
     177             :                  * \param passedLowCut  Indicates if the pair passed the low mass cut.
     178             :                  * \param passedHighCut  Indicates if the pair passed the high mass cut.
     179             :                  * \param unlike   Indicates if the tracks have opposite sign.
     180             :                  * \param lowPtCount  The number of tracks in the pair that passed the low pT cut.
     181             :                  *            Should be in the range [0..2].
     182             :                  * \param highPtCount  The number of tracks in the pair that passed the high pT cut.
     183             :                  *            Should be in the range [0..2].
     184             :                  * \param trackA  Pointer to the first associated track object.
     185             :                  * \param trackB  Pointer to the second associated track object.
     186             :                  */
     187             :                 AliPairDecision(
     188             :                                 Float_t mass = -1, Bool_t passedLowCut = kFALSE,
     189             :                                 Bool_t passedHighCut = kFALSE, Bool_t unlike = kFALSE,
     190             :                                 UChar_t lowPtCount = 0, UChar_t highPtCount = 0,
     191             :                                 const TObject* trackA = NULL,
     192             :                                 const TObject* trackB = NULL
     193             :                         ) :
     194           0 :                         TObject(), fTrackA(trackA), fTrackB(trackB), fMass(mass),
     195           0 :                         fPassedLowCut(passedLowCut), fPassedHighCut(passedHighCut),
     196           0 :                         fUnlike(unlike), fLowPtCount(lowPtCount), fHighPtCount(highPtCount)
     197           0 :                 {}
     198             :                 
     199             :                 /**
     200             :                  * Copy constructor performs shallow copy of object since we
     201             :                  * do not take ownership of the track objects.
     202             :                  */
     203             :                 AliPairDecision(const AliPairDecision& obj) :
     204           0 :                         TObject(obj), fTrackA(obj.fTrackA), fTrackB(obj.fTrackB), fMass(obj.fMass),
     205           0 :                         fPassedLowCut(obj.fPassedLowCut), fPassedHighCut(obj.fPassedHighCut),
     206           0 :                         fUnlike(obj.fUnlike), fLowPtCount(obj.fLowPtCount), fHighPtCount(obj.fHighPtCount)
     207           0 :                 {}
     208             :                 
     209             :                 /**
     210             :                  * Asignment operators performs shallow copy of object since we
     211             :                  * do not take ownership of the track objects.
     212             :                  */
     213             :                 AliPairDecision& operator = (const AliPairDecision& obj)
     214             :                 {
     215           0 :                         if (this==&obj) return *this;
     216           0 :                         TObject::operator = (obj);
     217           0 :                         fTrackA = obj.fTrackA; fTrackB = obj.fTrackB; fMass = obj.fMass; fPassedLowCut = obj.fPassedLowCut;
     218           0 :                         fPassedHighCut = obj.fPassedHighCut; fUnlike = obj.fUnlike; fLowPtCount = obj.fLowPtCount; fHighPtCount = obj.fHighPtCount;
     219           0 :                         return *this;
     220           0 :                 }
     221             :                 
     222             :                 /**
     223             :                  * Default destructor.
     224             :                  */
     225           0 :                 virtual ~AliPairDecision() {}
     226             :                 
     227             :                 /**
     228             :                  * Returns the first track associated with the track pair trigger decision
     229             :                  * or NULL if none found.
     230             :                  */
     231           0 :                 const TObject* TrackA() const { return fTrackA; }
     232             :                 
     233             :                 /**
     234             :                  * Returns the first track associated with the pair decision as a Manso track object.
     235             :                  * NULL is returned if no track is found or the track object is not a Manso track.
     236             :                  */
     237             :                 const AliHLTMUONMansoTrack* MansoTrackA() const;
     238             :                 
     239             :                 /**
     240             :                  * Returns the first track associated with the pair decision as a full track object.
     241             :                  * NULL is returned if no track is found or the track object is not a full track.
     242             :                  */
     243             :                 const AliHLTMUONTrack* FullTrackA() const;
     244             :                 
     245             :                 /**
     246             :                  * Returns the second track associated with the track pair trigger decision
     247             :                  * or NULL if none found.
     248             :                  */
     249           0 :                 const TObject* TrackB() const { return fTrackB; }
     250             :                 
     251             :                 /**
     252             :                  * Returns the second track associated with the pair decision as a Manso track object.
     253             :                  * NULL is returned if no track is found or the track object is not a Manso track.
     254             :                  */
     255             :                 const AliHLTMUONMansoTrack* MansoTrackB() const;
     256             :                 
     257             :                 /**
     258             :                  * Returns the second track associated with the pair decision as a full track object.
     259             :                  * NULL is returned if no track is found or the track object is not a full track.
     260             :                  */
     261             :                 const AliHLTMUONTrack* FullTrackB() const;
     262             :                 
     263             :                 /**
     264             :                  * Returns the calculated invariant mass value used for the trigger decision.
     265             :                  */
     266           0 :                 Float_t Mass() const { return fMass; }
     267             :                 
     268             :                 /**
     269             :                  * Returns kTRUE if the track pair passed the low invariant mass cut, else kFALSE.
     270             :                  */
     271           0 :                 Bool_t PassedLowMassCut() const { return fPassedLowCut; }
     272             :                 
     273             :                 /**
     274             :                  * Returns kTRUE if the track pair passed the high invariant mass cut, else kFALSE.
     275             :                  */
     276           0 :                 Bool_t PassedHighMassCut() const { return fPassedHighCut; }
     277             :                 
     278             :                 /**
     279             :                  * Returns kTRUE if the track pair has unlike sign, else kFALSE.
     280             :                  */
     281           0 :                 Bool_t UnlikeSign() const { return fUnlike; }
     282             :                 
     283             :                 /**
     284             :                  * Returns kTRUE if the track pair has like sign, else kFALSE.
     285             :                  */
     286           0 :                 Bool_t LikeSign() const { return not fUnlike; }
     287             :                 
     288             :                 /**
     289             :                  * Returns the number of tracks in the pair that passed the low pT cut.
     290             :                  * Can be one of 0, 1 or 2.
     291             :                  */
     292           0 :                 UChar_t NumberPassedLowPtCut() const { return fLowPtCount; }
     293             :                 
     294             :                 /**
     295             :                  * Returns the number of tracks in the pair that passed the high pT cut.
     296             :                  * Can be one of 0, 1 or 2.
     297             :                  */
     298           0 :                 UChar_t NumberPassedHighPtCut() const { return fHighPtCount; }
     299             :                 
     300             :                 /**
     301             :                  * Returns kTRUE if both tracks passed the low pT cut, else kFALSE.
     302             :                  */
     303           0 :                 Bool_t BothPassedLowPtCut() const { return NumberPassedLowPtCut() == 2; }
     304             :                 
     305             :                 /**
     306             :                  * Returns kTRUE if both tracks passed the high pT cut, else kFALSE.
     307             :                  */
     308           0 :                 Bool_t BothPassedHighPtCut() const { return NumberPassedHighPtCut() == 2; }
     309             :                 
     310             :                 /// Print method inherited from TObject.
     311             :                 virtual void Print(Option_t* option = NULL) const;
     312             :         
     313             :                 // Methods inherited from TObject
     314           0 :                 virtual Bool_t IsSortable() const { return kTRUE; }
     315             :                 Int_t Compare(const TObject* obj) const;
     316             : 
     317             :                 // Implement comparison operators.
     318             :                 bool operator == (const AliPairDecision& d) const
     319             :                 {
     320           0 :                         return fTrackA == d.fTrackA and fTrackB == d.fTrackB and fMass == d.fMass
     321           0 :                                 and fPassedLowCut == d.fPassedLowCut and fPassedHighCut == d.fPassedHighCut
     322           0 :                                 and fUnlike == d.fUnlike and fLowPtCount == d.fLowPtCount and fHighPtCount == d.fHighPtCount;
     323             :                 }
     324             : 
     325             :                 bool operator != (const AliPairDecision& d) const
     326             :                 {
     327           0 :                         return not this->operator == (d);
     328             :                 }
     329             :         
     330             :         private:
     331             :                 
     332             :                 const TObject* fTrackA; ///< The first track associated with this pair decision.
     333             :                 const TObject* fTrackB; ///< The second track associated with this pair decision.
     334             :                 Float_t fMass;  ///< The invariant mass used for the trigger decision. (GeV/c^2)
     335             :                 Bool_t fPassedLowCut; ///< Indicates if the track passed the low mass cut.
     336             :                 Bool_t fPassedHighCut; ///< Indicates if the track passed the high mass cut.
     337             :                 Bool_t fUnlike; ///< Indicates if the track pair has unlike sign.
     338             :                 UChar_t fLowPtCount; ///< The number of tracks in the pair that passed the low pT cut.
     339             :                 UChar_t fHighPtCount; ///< The number of tracks in the pair that passed the high pT cut.
     340             :                 
     341           6 :                 ClassDef(AliHLTMUONDecision::AliPairDecision, 4); // A track pair dHLT trigger decision object.
     342             :         };
     343             : 
     344             :         /**
     345             :          * Constructor for creating a dHLT decision object.
     346             :          * \param nLowPt  Number of tracks above low pT cut.
     347             :          * \param nHiPt   Number of tracks above high pT cut.
     348             :          * \param nUnlikeAnyPt  Number of track pairs with unlike sign.
     349             :          * \param nUnlikeLowPt  Number of unlike sign track pairs with pT > low cut.
     350             :          * \param nUnlikeHighPt Number of unlike sign track pairs with pT > high cut.
     351             :          * \param nLikeAnyPt   Number of track pairs with like sign.
     352             :          * \param nLikeLowPt   Number of like sign track pairs with pT > low cut.
     353             :          * \param nLikeHighPt  Number of like sign track pairs with pT > high cut.
     354             :          * \param nMassAny   Number of unlike sign track pairs with invariant mass > low cut.
     355             :          * \param nMassLow   Number of unlike sign track pairs with invariant mass > low mass cut and pT > low pT cut.
     356             :          * \param nMassHigh  Number of unlike sign track pairs with invariant mass > high mass cut and pT > high pT cut.
     357             :          */
     358             :         AliHLTMUONDecision(
     359             :                         UInt_t nLowPt = 0, UInt_t nHiPt = 0,
     360             :                         UInt_t nUnlikeAnyPt = 0, UInt_t nUnlikeLowPt = 0, UInt_t nUnlikeHighPt = 0,
     361             :                         UInt_t nLikeAnyPt = 0, UInt_t nLikeLowPt = 0, UInt_t nLikeHighPt = 0,
     362             :                         UInt_t nMassAny = 0, UInt_t nMassLow = 0, UInt_t nMassHigh = 0
     363             :                 );
     364             :         
     365             :         /**
     366             :          * Default destructor.
     367             :          */
     368           0 :         virtual ~AliHLTMUONDecision() {}
     369             : 
     370             :         /**
     371             :          * Returns the number of single low pT triggers.
     372             :          */
     373           0 :         UInt_t NumberOfLowPtTriggers() const { return fNlowPt; }
     374             : 
     375             :         /**
     376             :          * Returns the number of single high pT triggers.
     377             :          */
     378           0 :         UInt_t NumberOfHighPtTriggers() const { return fNhighPt; }
     379             :         
     380             :         /**
     381             :          * Returns the number of unlike sign pt triggers.
     382             :          */
     383           0 :         UInt_t NumberOfUnlikePairs() const { return fNunlikeAnyPt; }
     384             :         
     385             :         /**
     386             :          * Returns the number of unlike sign pT triggers, where both tracks have pT > low cut.
     387             :          */
     388           0 :         UInt_t NumberOfUnlikeLowPtPairs() const { return fNunlikeLowPt; }
     389             :         
     390             :         /**
     391             :          * Returns the number of unlike sign pT triggers, where both tracks have pT > high cut.
     392             :          */
     393           0 :         UInt_t NumberOfUnlikeHighPtPairs() const { return fNunlikeHighPt; }
     394             :         
     395             :         /**
     396             :          * Returns the number of like sign pt triggers.
     397             :          */
     398           0 :         UInt_t NumberOfLikePairs() const { return fNlikeAnyPt; }
     399             :         
     400             :         /**
     401             :          * Returns the number of like sign pT triggers, where both tracks have pT > low cut.
     402             :          */
     403           0 :         UInt_t NumberOfLikeLowPtPairs() const { return fNlikeLowPt; }
     404             :         
     405             :         /**
     406             :          * Returns the number of like sign pT triggers, where both tracks have pT > high cut.
     407             :          */
     408           0 :         UInt_t NumberOfLikeHighPtPairs() const { return fNlikeHighPt; }
     409             :         
     410             :         /**
     411             :          * Returns the number of invariant mass triggers.
     412             :          */
     413           0 :         UInt_t NumberOfMassTriggers() const { return fNmassAny; }
     414             :         
     415             :         /**
     416             :          * Returns the number of invariant mass triggers,
     417             :          * where invariant mass > low cut and both tracks have pT > low cut.
     418             :          */
     419           0 :         UInt_t NumberOfLowMassTriggers() const { return fNmassLow; }
     420             :         
     421             :         /**
     422             :          * Returns the number of invariant mass triggers,
     423             :          * where invariant mass > high cut and both tracks have pT > high cut.
     424             :          */
     425           0 :         UInt_t NumberOfHighMassTriggers() const { return fNmassHigh; }
     426             :         
     427             :         /**
     428             :          * Returns the total number of single tracks that formed part of this trigger decision.
     429             :          */
     430           0 :         Int_t NumberOfTracks() const { return fTrackDecisions.GetEntriesFast(); }
     431             :         
     432             :         /**
     433             :          * Returns the i'th trigger decision for a single track.
     434             :          * \param i  Should be in the range [0 .. NumberOfTracks()-1]
     435             :          */
     436             :         const AliTrackDecision* SingleTrackDecision(Int_t i) const
     437             :         {
     438           0 :                 return static_cast<const AliTrackDecision*>(fTrackDecisions.At(i));
     439             :         }
     440             :         
     441             :         /**
     442             :          * Returns the total number of track pairs that formed part of this trigger decision.
     443             :          */
     444           0 :         Int_t NumberOfPairs() const { return fPairDecisions.GetEntriesFast(); }
     445             :         
     446             :         /**
     447             :          * Returns the i'th trigger decision for a track pair.
     448             :          * \param i  Should be in the range [0 .. NumberOfPairs()-1]
     449             :          */
     450             :         const AliPairDecision* TrackPairDecision(Int_t i) const
     451             :         {
     452           0 :                 return static_cast<const AliPairDecision*>(fPairDecisions.At(i));
     453             :         }
     454             :         
     455             :         /// Add a single track decision to the dHLT trigger.
     456             :         void AddDecision(const AliTrackDecision* decision);
     457             :         
     458             :         /// Add a single track decision to the dHLT trigger.
     459             :         void AddDecision(
     460             :                         Float_t pt, Bool_t passedLowCut, Bool_t passedHighCut,
     461             :                         const TObject* track
     462             :                 );
     463             :         
     464             :         /// Add a track pair decision to the dHLT trigger.
     465             :         void AddDecision(const AliPairDecision* decision);
     466             :         
     467             :         /// Add a track pair decision to the dHLT trigger.
     468             :         void AddDecision(
     469             :                         Float_t mass, Bool_t passedLowCut,
     470             :                         Bool_t passedHighCut, Bool_t unlike,
     471             :                         UChar_t lowPtCount, UChar_t highPtCount,
     472             :                         const TObject* trackA, const TObject* trackB
     473             :                 );
     474             :         
     475             :         /**
     476             :          * Prints the details of the dHLT decision to screen.
     477             :          * @param option  A case sensitive string that can contain one of the
     478             :          *     following strings:
     479             :          *       "compact" - Prints just the trigger scalars.
     480             :          *       "detail" - Prints also the track decision list in a compact format.
     481             :          *       "all" - Prints all decision information and also the track decision details.
     482             :          *     If the string contains an empty option or NULL then the default is
     483             :          *     to print compactly.
     484             :          */
     485             :         virtual void Print(Option_t* option = NULL) const;
     486             :         
     487             :         // Methods inherited from TObject
     488           0 :         virtual Bool_t IsSortable() const { return kTRUE; }
     489             :         Int_t Compare(const TObject* obj) const;
     490             : 
     491             :         // Implement comparison operators.
     492             :         bool operator == (const AliHLTMUONDecision& track) const;
     493             : 
     494             :         bool operator != (const AliHLTMUONDecision& track) const
     495             :         {
     496           0 :                 return not this->operator == (track);
     497             :         }
     498             : 
     499             : private:
     500             : 
     501             :         // Do not allow copying of this class.
     502             :         AliHLTMUONDecision(const AliHLTMUONDecision& track);
     503             :         AliHLTMUONDecision& operator = (const AliHLTMUONDecision& track);
     504             :         
     505             :         UInt_t fNlowPt;  ///< Number of low pt triggers.
     506             :         UInt_t fNhighPt; ///< Number of high pt triggers.
     507             :         
     508             :         /// Number of unlike sign pt triggers for both tracks having any pt.
     509             :         UInt_t fNunlikeAnyPt;
     510             :         
     511             :         /// Number of unlike sign low pt triggers where both tracks have pt > low cut.
     512             :         UInt_t fNunlikeLowPt;
     513             :         
     514             :         /// Number of unlike sign high pt triggers where both tracks have pt > high cut.
     515             :         UInt_t fNunlikeHighPt;
     516             :         
     517             :         /// Number of like sign pt triggers where both tracks have any pt.
     518             :         UInt_t fNlikeAnyPt;
     519             :         
     520             :         /// Number of like sign low pt triggers where both tracks have pt > low cut.
     521             :         UInt_t fNlikeLowPt;
     522             :         
     523             :         /// Number of like sign high pt triggers where both tracks have pt > high cut.
     524             :         UInt_t fNlikeHighPt;
     525             :         
     526             :         /// Number of pairs that have invariant mass > low mass cut, any pt and unlike sign.
     527             :         UInt_t fNmassAny;
     528             :         
     529             :         /// Number of pairs that have invariant mass > low mass cut, pt > low pt cut and unlike sign.
     530             :         UInt_t fNmassLow;
     531             :         
     532             :         /// Number of pairs that have invariant mass > high mass cut, pt > high pt cut and unlike sign.
     533             :         UInt_t fNmassHigh;
     534             :         
     535             :         TClonesArray fTrackDecisions;  ///< Array of single track decision objects.
     536             :         TClonesArray fPairDecisions;  ///< Array of track pair decision objects.
     537             : 
     538           6 :         ClassDef(AliHLTMUONDecision, 4); // Decision object containing data converted from raw internal dHLT data structures.
     539             : };
     540             : 
     541             : #endif // ALIHLTMUONDECISION_H

Generated by: LCOV version 1.11