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
20 #include "AliHLTTriggerCaloClusterEnergy.h"
21 #include "AliHLTTriggerEmcalClusterEnergy.h"
22 #include "AliHLTTrigger.h"
23 #include "AliHLTScalars.h"
24 class AliHLTCaloClusterReader;
29 class AliHLTTriggerEmcalElectron : public AliHLTTrigger
33 AliHLTTriggerEmcalElectron();
34 ~AliHLTTriggerEmcalElectron();
36 /// inherited from AliHLTTrigger: name of this trigger
37 const char* GetTriggerName() const;
38 /// inherited from AliHLTComponent: create an instance
39 AliHLTComponent* Spawn();
41 ///Inherited from AliHLTComponent: Get list of OCDB objects
42 void GetOCDBObjectDescription( TMap* const targetMap);
45 /// inherited from AliHLTComponent: handle the initialization
46 int DoInit(int argc, const char** argv);
48 /// inherited from AliHLTComponent: handle cleanup
51 /// inherited from AliHLTComponent: handle re-configuration event
52 int Reconfigure(const char* cdbEntry, const char* chainId);
54 /// inherited from AliHLTComponent, scan one argument and
56 int ScanConfigurationArgument(int argc, const char** argv);
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);
62 // inherited from AliHLTTrigger: returns the output data types generated from this component
63 void GetOutputDataTypes(AliHLTComponentDataTypeList &list) const;
67 ///Get the clusters from the esd
68 // Int_t GetClustersFromEsd( const AliESDEvent * esd, TRefArray * clustersRefs );
69 // virtual Int_t GetClustersFromEsd( const AliESDEvent * esd, TRefArray * clustersRefs ) = 0;
71 // FR: Set the appropriate readout list for each calo
72 void SetCaloReadoutList();
74 /// inherited from AliHLTTrigger: calculate the trigger
78 /// Check if cluster fullfills criteria and if so trigger
80 Bool_t TriggerOnEoverP(T* cluster,AliESDEvent *esd);
82 /// Threshold to trigger on EoverP
84 Float_t fEoverPThreshold;
89 ///array to hold esd clusters
90 // TRefArray * fClustersRefs; //!transient
92 ///Cluster data struct reader
93 // AliHLTCaloClusterReader * fClusterReader; //!transient
95 /// the default configuration entry for this component
96 const char* fOCDBEntry; //!transient
97 const TString fDetector;
99 AliHLTComponentDataType fInputDataType; ///Input data type for calo struct input, must be set in child class
101 // flag to make statistics for histograming using AliHLTScalars
105 //AliHLTScalars scalars;
110 /// Copy constructor prohibited
111 AliHLTTriggerEmcalElectron(const AliHLTTriggerEmcalElectron & );
113 /// Assignment operator prohibited
114 AliHLTTriggerEmcalElectron& operator=(const AliHLTTriggerEmcalElectron &);
116 ClassDef(AliHLTTriggerEmcalElectron, 0);
121 #endif //ALIHLTTRIGGERCALOCLUSTERENERGY_H