]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/trigger/AliHLTTriggerEmcalElectron.h
Coverity (F.Ronchetti)
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerEmcalElectron.h
1 //**************************************************************************                        
2 //* This file is property of and copyright by the ALICE HLT Project        *                        
3 //* ALICE Experiment at CERN, All rights reserved.                         *                        
4 //*                                                                        *                        
5 //* Primary Authors: marcelfigueredo@gmail.com                             *                        
6 //*                  for The ALICE HLT Project.                            *                        
7 //*                                                                        *                        
8 //* Permission to use, copy, modify and distribute this software and its   *                        
9 //* documentation strictly for non-commercial purposes is hereby granted   *                        
10 //* without fee, provided that the above copyright notice appears in all   *                        
11 //* copies and that both the copyright notice and this permission notice   *                        
12 //* appear in the supporting documentation. The authors make no claims     *                        
13 //* about the suitability of this software for any purpose. It is          *                        
14 //* provided "as is" without express or implied warranty.                  *                        
15 //**************************************************************************   
16
17
18 #ifndef ALIHLTTRIGGEREMCALELECTRON_H
19 #define ALIHLTTRIGGEREMCALELECTRON_H
20
21 //#include "AliHLTTriggerEmcalClusterEnergy.h"
22 #include "AliHLTTrigger.h"
23
24 class AliHLTCaloClusterReader;
25 class TRefArray;
26 class AliESDEvent;
27 class TMap;
28
29 class AliHLTTriggerEmcalElectron : public AliHLTTrigger 
30 {
31
32 public:
33   AliHLTTriggerEmcalElectron();
34   ~AliHLTTriggerEmcalElectron();
35
36   /// inherited from AliHLTTrigger: name of this trigge
37
38   const char* GetTriggerName() const;
39   
40   /// inherited from AliHLTComponent: create an instance
41   AliHLTComponent* Spawn();
42
43   ///Inherited from AliHLTComponent: Get list of OCDB objects
44   void GetOCDBObjectDescription( TMap* const targetMap);
45
46  protected:
47   /// inherited from AliHLTComponent: handle the initialization
48   int DoInit(int argc, const char** argv);
49
50   /// inherited from AliHLTComponent: handle cleanup
51   int DoDeinit();
52
53   /// inherited from AliHLTComponent: handle re-configuration event
54   int Reconfigure(const char* cdbEntry, const char* chainId);
55
56   /// inherited from AliHLTComponent, scan one argument and
57   /// its parameters
58   int ScanConfigurationArgument(int argc, const char** argv);
59
60   /// inherited from AliHLTComponent
61   //  Get a ratio by how much the data volume is shrunken or enhanced.
62   virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
63
64 protected :
65
66     
67   ///Get the clusters from the esd
68   //  Int_t GetClustersFromEsd( const AliESDEvent * esd, TRefArray * clustersRefs );
69   
70   // FR: Set the appropriate readout list for each calo
71   //  void SetCaloReadoutList();
72   
73   /// inherited from AliHLTTrigger: calculate the trigger
74   Int_t DoTrigger();
75
76   
77   /// Check if cluster fullfills criteria and if so trigger
78   template <class T> 
79   Bool_t TriggerOnEoverP(T* cluster,AliESDEvent *esd);
80
81   /// Threshold to trigger on EoverP
82   Float_t fEThreshold;
83   Float_t fEoverPThreshold;
84   Float_t fEoverPLimit;
85
86   ///array to hold esd clusters
87   TRefArray * fClustersRefs;  //!transient
88
89   const TString fDetector;
90   
91   ///Cluster data struct reader
92   AliHLTCaloClusterReader * fClusterReader; //!transient
93   
94   /// the default configuration entry for this component
95   const char* fOCDBEntry; //!transient
96   
97   AliHLTComponentDataType fInputDataType;   ///Input data type for calo struct input, must be set in child class
98   
99   
100   
101  private:
102   
103   /// Copy constructor prohibited
104   AliHLTTriggerEmcalElectron(const AliHLTTriggerEmcalElectron & );
105   
106   /// Assignment operator prohibited
107   AliHLTTriggerEmcalElectron& operator=(const AliHLTTriggerEmcalElectron &);
108   
109   ClassDef(AliHLTTriggerEmcalElectron, 0);
110
111 };
112
113
114 #endif //ALIHLTTRIGGERCALOCLUSTERENERGY_H