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