LCOV - code coverage report
Current view: top level - STEER/ESD - AliESDHLTDecision.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 7 28.6 %
Date: 2016-06-14 17:26:59 Functions: 3 11 27.3 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : #ifndef ALIESDHLTDECISION_H
       4             : #define ALIESDHLTDECISION_H
       5             : /* This file is property of and copyright by the ALICE HLT Project        *
       6             :  * ALICE Experiment at CERN, All rights reserved.                         *
       7             :  * See cxx source for full Copyright notice                               */
       8             : 
       9             : /// @file   AliESDHLTDecision.h
      10             : /// @author matthias.richter@ift.uib.no
      11             : /// @date   23 Nov 2009
      12             : /// @brief  Container for HLT decision within the ESD
      13             : 
      14             : #include "TNamed.h"
      15             : #include "TArrayI.h"
      16             : #include "TArrayL64.h"
      17             : #include "TClonesArray.h"
      18             : 
      19             : class AliESDHLTDecision : public TNamed
      20             : {
      21             :  public:
      22             :   /// constructor
      23             :   AliESDHLTDecision();
      24             :   /// constructor
      25             :   AliESDHLTDecision(bool result, const char* description);
      26             :   /// copy constructor
      27             :   AliESDHLTDecision(const AliESDHLTDecision& src);
      28             :   /// assignment operator
      29             :   AliESDHLTDecision& operator=(const AliESDHLTDecision& src);
      30             :   /// destructor
      31             :   ~AliESDHLTDecision();
      32             : 
      33             :   /// set trigger result
      34           0 :   void SetTriggerResult(bool result) {SetBit(kTriggerResult, result);}
      35             : 
      36             :   /// set the active HLT trigger items
      37           0 :   int SetTriggerItems(TArrayI items) {fTriggerItems=items; return 0;}
      38             : 
      39             :   /// set the event counters for HLT trigger items
      40           0 :   int SetCounters(TArrayL64 counters) {fCounters=counters; return 0;}
      41             : 
      42             :   /// get the description og the global trigger decision
      43             :   const char* GetDescription() const;
      44             : 
      45             :   /// trigger result
      46           0 :   bool Result() const { return TestBit(kTriggerResult) == 1; }
      47             : 
      48             :   /// Inherited from TObject. Return the result of the trigger.
      49             :   /// @return   "0" or "1" (note: its a string)
      50           0 :   virtual Option_t *GetOption() const {return Result()?"1":"0";}
      51             : 
      52             :   /// check whether the HLT global trigger has fired, or
      53             :   /// for a specific HLT trigger class if specified
      54             :   Bool_t    IsTriggerFired(const char* name=NULL) const;
      55             : 
      56             :   /// Inherited from TObject. Print Information.
      57             :   virtual void Print(Option_t* option = "") const;
      58             : 
      59             :   /// Inherited from TObject. Copy this to the specified object.
      60             :   virtual void Copy(TObject &object) const;
      61             :   
      62             :   /// Inherited from TObject. Create a new clone.
      63             :   virtual TObject *Clone(const char *newname="") const;
      64             : 
      65             :   enum {
      66             :     /// trigger result true/false
      67             :     kTriggerResult =       BIT(15),
      68             :     /// indicate trigger decision object
      69             :     kTriggerDecision =     BIT(16)
      70             :   };
      71             : 
      72          32 :   static const char* Name() {return fgkName;}
      73             : 
      74             :  protected:
      75             :  private:
      76             :   /// short info about the input objects stored in TNamed
      77             :   /// trigger name, description (title), 
      78             :   /// type: TObject bit 15 set for trigger decisions
      79             :   /// decision: TObject bit 16 indicates true/false
      80             :   TClonesArray fInputObjectInfo; // TNamed objects
      81             : 
      82             :   /// array of fired trigger item ids from the HLT trigger menu
      83             :   TArrayI fTriggerItems; // list of fired trigger items
      84             : 
      85             :   /// trigger counters for HLT trigger items
      86             :   TArrayL64 fCounters; // event counters for trigger items
      87             : 
      88             :   /// object name for the HLT decision
      89             :   static const char* fgkName; // the name of the HLT decision
      90             : 
      91         456 :   ClassDef(AliESDHLTDecision, 1)
      92             : };
      93             : #endif //ALIESDHLTDECISION_H

Generated by: LCOV version 1.11