]>
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 | ||
8ffa7c29 | 21 | #include "AliHLTTriggerEmcalClusterEnergy.h" |
5d8d9319 | 22 | #include "AliHLTTrigger.h" |
8ffa7c29 | 23 | |
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 | ||
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 | ||
62 | protected : | |
63 | ||
64 | ///Get the clusters from the esd | |
8ffa7c29 | 65 | Int_t GetClustersFromEsd( const AliESDEvent * esd, TRefArray * clustersRefs ); |
5d8d9319 | 66 | |
67 | // FR: Set the appropriate readout list for each calo | |
8ffa7c29 | 68 | void SetCaloReadoutList(); |
5d8d9319 | 69 | |
70 | /// inherited from AliHLTTrigger: calculate the trigger | |
71 | Int_t DoTrigger(); | |
72 | ||
8ffa7c29 | 73 | |
5d8d9319 | 74 | /// Check if cluster fullfills criteria and if so trigger |
75 | template <class T> | |
76 | Bool_t TriggerOnEoverP(T* cluster,AliESDEvent *esd); | |
77 | ||
78 | /// Threshold to trigger on EoverP | |
79 | Float_t fEThreshold; | |
80 | Float_t fEoverPThreshold; | |
81 | Float_t fEoverPLimit; | |
8ffa7c29 | 82 | |
5d8d9319 | 83 | |
84 | ///array to hold esd clusters | |
85 | TRefArray * fClustersRefs; //!transient | |
86 | ||
8ffa7c29 | 87 | ///Cluster data struct reader |
5d8d9319 | 88 | AliHLTCaloClusterReader * fClusterReader; //!transient |
89 | ||
90 | /// the default configuration entry for this component | |
91 | const char* fOCDBEntry; //!transient | |
8ffa7c29 | 92 | const TString fDetector; |
5d8d9319 | 93 | |
94 | AliHLTComponentDataType fInputDataType; ///Input data type for calo struct input, must be set in child class | |
95 | ||
8ffa7c29 | 96 | |
97 | ||
98 | private: | |
99 | ||
100 | /// Copy constructor prohibited | |
101 | AliHLTTriggerEmcalElectron(const AliHLTTriggerEmcalElectron & ); | |
102 | ||
103 | /// Assignment operator prohibited | |
104 | AliHLTTriggerEmcalElectron& operator=(const AliHLTTriggerEmcalElectron &); | |
105 | ||
106 | ClassDef(AliHLTTriggerEmcalElectron, 0); | |
5d8d9319 | 107 | |
5d8d9319 | 108 | }; |
109 | ||
110 | ||
5d8d9319 | 111 | #endif //ALIHLTTRIGGERCALOCLUSTERENERGY_H |