1 //**************************************************************************
2 //* This file is property of and copyright by the ALICE HLT Project *
3 //* ALICE Experiment at CERN, All rights reserved. *
5 //* Primary Authors: marcelfigueredo@gmail.com *
6 //* for The ALICE HLT Project. *
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 //**************************************************************************
18 #ifndef ALIHLTTRIGGEREMCALELECTRON_H
19 #define ALIHLTTRIGGEREMCALELECTRON_H
21 //#include "AliHLTTriggerEmcalClusterEnergy.h"
22 #include "AliHLTTrigger.h"
24 class AliHLTCaloClusterReader;
29 class AliHLTTriggerEmcalElectron : public AliHLTTrigger
33 AliHLTTriggerEmcalElectron();
34 ~AliHLTTriggerEmcalElectron();
36 /// inherited from AliHLTTrigger: name of this trigge
38 const char* GetTriggerName() const;
40 /// inherited from AliHLTComponent: create an instance
41 AliHLTComponent* Spawn();
43 ///Inherited from AliHLTComponent: Get list of OCDB objects
44 void GetOCDBObjectDescription( TMap* const targetMap);
47 /// inherited from AliHLTComponent: handle the initialization
48 int DoInit(int argc, const char** argv);
50 /// inherited from AliHLTComponent: handle cleanup
53 /// inherited from AliHLTComponent: handle re-configuration event
54 int Reconfigure(const char* cdbEntry, const char* chainId);
56 /// inherited from AliHLTComponent, scan one argument and
58 int ScanConfigurationArgument(int argc, const char** argv);
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);
67 ///Get the clusters from the esd
68 // Int_t GetClustersFromEsd( const AliESDEvent * esd, TRefArray * clustersRefs );
70 // FR: Set the appropriate readout list for each calo
71 // void SetCaloReadoutList();
73 /// inherited from AliHLTTrigger: calculate the trigger
77 /// Check if cluster fullfills criteria and if so trigger
79 Bool_t TriggerOnEoverP(T* cluster,AliESDEvent *esd);
81 /// Threshold to trigger on EoverP
83 Float_t fEoverPThreshold;
86 ///array to hold esd clusters
87 TRefArray * fClustersRefs; //!transient
89 const TString fDetector;
91 ///Cluster data struct reader
92 AliHLTCaloClusterReader * fClusterReader; //!transient
94 /// the default configuration entry for this component
95 const char* fOCDBEntry; //!transient
97 AliHLTComponentDataType fInputDataType; ///Input data type for calo struct input, must be set in child class
103 /// Copy constructor prohibited
104 AliHLTTriggerEmcalElectron(const AliHLTTriggerEmcalElectron & );
106 /// Assignment operator prohibited
107 AliHLTTriggerEmcalElectron& operator=(const AliHLTTriggerEmcalElectron &);
109 ClassDef(AliHLTTriggerEmcalElectron, 0);
114 #endif //ALIHLTTRIGGERCALOCLUSTERENERGY_H