]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/trigger/AliHLTTriggerEmcalElectron.h
changed HLT "fastjet" trigger: new set methods in AliFJWrapper using chars.... re...
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerEmcalElectron.h
CommitLineData
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"
23class AliHLTCaloClusterReader;
24class TRefArray;
25class AliESDEvent;
26class TMap;
27
28class AliHLTTriggerEmcalElectron : public AliHLTTrigger
29{
30
31public:
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
61protected :
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