]>
Commit | Line | Data |
---|---|---|
5d8d9319 | 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 | |
2e2fdcf2 | 20 | #include "AliHLTTriggerCaloClusterEnergy.h" |
21 | #include "AliHLTTriggerEmcalClusterEnergy.h" | |
5d8d9319 | 22 | #include "AliHLTTrigger.h" |
c9b754b8 | 23 | #include "AliHLTScalars.h" |
5d8d9319 | 24 | class AliHLTCaloClusterReader; |
25 | class TRefArray; | |
26 | class AliESDEvent; | |
27 | class TMap; | |
28 | ||
8ffa7c29 | 29 | class AliHLTTriggerEmcalElectron : public AliHLTTrigger |
5d8d9319 | 30 | { |
31 | ||
32 | public: | |
8ffa7c29 | 33 | AliHLTTriggerEmcalElectron(); |
5d8d9319 | 34 | ~AliHLTTriggerEmcalElectron(); |
35 | ||
2e2fdcf2 | 36 | /// inherited from AliHLTTrigger: name of this trigger |
8ffa7c29 | 37 | const char* GetTriggerName() const; |
5d8d9319 | 38 | /// inherited from AliHLTComponent: create an instance |
8ffa7c29 | 39 | AliHLTComponent* Spawn(); |
5d8d9319 | 40 | |
41 | ///Inherited from AliHLTComponent: Get list of OCDB objects | |
42 | void GetOCDBObjectDescription( TMap* const targetMap); | |
43 | ||
44 | protected: | |
45 | /// inherited from AliHLTComponent: handle the initialization | |
46 | int DoInit(int argc, const char** argv); | |
47 | ||
48 | /// inherited from AliHLTComponent: handle cleanup | |
49 | int DoDeinit(); | |
50 | ||
51 | /// inherited from AliHLTComponent: handle re-configuration event | |
52 | int Reconfigure(const char* cdbEntry, const char* chainId); | |
53 | ||
54 | /// inherited from AliHLTComponent, scan one argument and | |
55 | /// its parameters | |
56 | int ScanConfigurationArgument(int argc, const char** argv); | |
57 | ||
58 | /// inherited from AliHLTComponent | |
59 | // Get a ratio by how much the data volume is shrunken or enhanced. | |
60 | virtual void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier); | |
61 | ||
c9b754b8 | 62 | // inherited from AliHLTTrigger: returns the output data types generated from this component |
63 | void GetOutputDataTypes(AliHLTComponentDataTypeList &list) const; | |
64 | ||
5d8d9319 | 65 | protected : |
66 | ||
67 | ///Get the clusters from the esd | |
2e2fdcf2 | 68 | // Int_t GetClustersFromEsd( const AliESDEvent * esd, TRefArray * clustersRefs ); |
69 | // virtual Int_t GetClustersFromEsd( const AliESDEvent * esd, TRefArray * clustersRefs ) = 0; | |
70 | ||
5d8d9319 | 71 | // FR: Set the appropriate readout list for each calo |
2e2fdcf2 | 72 | void SetCaloReadoutList(); |
5d8d9319 | 73 | |
74 | /// inherited from AliHLTTrigger: calculate the trigger | |
75 | Int_t DoTrigger(); | |
76 | ||
8ffa7c29 | 77 | |
5d8d9319 | 78 | /// Check if cluster fullfills criteria and if so trigger |
79 | template <class T> | |
80 | Bool_t TriggerOnEoverP(T* cluster,AliESDEvent *esd); | |
81 | ||
82 | /// Threshold to trigger on EoverP | |
83 | Float_t fEThreshold; | |
84 | Float_t fEoverPThreshold; | |
85 | Float_t fEoverPLimit; | |
2e2fdcf2 | 86 | Float_t fdEta; |
87 | Float_t fdPhi; | |
88 | ||
5d8d9319 | 89 | ///array to hold esd clusters |
2e2fdcf2 | 90 | // TRefArray * fClustersRefs; //!transient |
91 | ||
92 | ///Cluster data struct reader | |
93 | // AliHLTCaloClusterReader * fClusterReader; //!transient | |
5d8d9319 | 94 | |
5d8d9319 | 95 | /// the default configuration entry for this component |
96 | const char* fOCDBEntry; //!transient | |
2e2fdcf2 | 97 | const TString fDetector; |
5d8d9319 | 98 | |
99 | AliHLTComponentDataType fInputDataType; ///Input data type for calo struct input, must be set in child class | |
100 | ||
c9b754b8 | 101 | // flag to make statistics for histograming using AliHLTScalars |
102 | Bool_t fMakeStats; | |
103 | ||
104 | // AliHLTScalars | |
cdac6043 | 105 | //AliHLTScalars scalars; |
8ffa7c29 | 106 | |
107 | ||
108 | private: | |
109 | ||
110 | /// Copy constructor prohibited | |
111 | AliHLTTriggerEmcalElectron(const AliHLTTriggerEmcalElectron & ); | |
112 | ||
113 | /// Assignment operator prohibited | |
114 | AliHLTTriggerEmcalElectron& operator=(const AliHLTTriggerEmcalElectron &); | |
115 | ||
116 | ClassDef(AliHLTTriggerEmcalElectron, 0); | |
5d8d9319 | 117 | |
5d8d9319 | 118 | }; |
119 | ||
120 | ||
5d8d9319 | 121 | #endif //ALIHLTTRIGGERCALOCLUSTERENERGY_H |