]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/trigger/AliHLTTriggerEmcalElectron.h
Update master to aliroot
[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
2e2fdcf2 20#include "AliHLTTriggerCaloClusterEnergy.h"
21#include "AliHLTTriggerEmcalClusterEnergy.h"
5d8d9319 22#include "AliHLTTrigger.h"
c9b754b8 23#include "AliHLTScalars.h"
5d8d9319 24class AliHLTCaloClusterReader;
25class TRefArray;
26class AliESDEvent;
27class TMap;
28
8ffa7c29 29class AliHLTTriggerEmcalElectron : public AliHLTTrigger
5d8d9319 30{
31
32public:
8ffa7c29 33 AliHLTTriggerEmcalElectron();
5d8d9319 34 ~AliHLTTriggerEmcalElectron();
35
2e2fdcf2 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
c9b754b8 62 // inherited from AliHLTTrigger: returns the output data types generated from this component
63 void GetOutputDataTypes(AliHLTComponentDataTypeList &list) const;
64
5d8d9319 65protected :
66
67 ///Get the clusters from the esd
2e2fdcf2 68// Int_t GetClustersFromEsd( const AliESDEvent * esd, TRefArray * clustersRefs );
69// virtual Int_t GetClustersFromEsd( const AliESDEvent * esd, TRefArray * clustersRefs ) = 0;
70
5d8d9319 71 // FR: Set the appropriate readout list for each calo
2e2fdcf2 72 void SetCaloReadoutList();
5d8d9319 73
74 /// inherited from AliHLTTrigger: calculate the trigger
75 Int_t DoTrigger();
76
8ffa7c29 77
5d8d9319 78 /// Check if cluster fullfills criteria and if so trigger
79 template <class T>
80 Bool_t TriggerOnEoverP(T* cluster,AliESDEvent *esd);
81
82 /// Threshold to trigger on EoverP
83 Float_t fEThreshold;
84 Float_t fEoverPThreshold;
85 Float_t fEoverPLimit;
2e2fdcf2 86 Float_t fdEta;
87 Float_t fdPhi;
88
5d8d9319 89 ///array to hold esd clusters
2e2fdcf2 90// TRefArray * fClustersRefs; //!transient
91
92 ///Cluster data struct reader
93// AliHLTCaloClusterReader * fClusterReader; //!transient
5d8d9319 94
5d8d9319 95 /// the default configuration entry for this component
96 const char* fOCDBEntry; //!transient
2e2fdcf2 97 const TString fDetector;
5d8d9319 98
99 AliHLTComponentDataType fInputDataType; ///Input data type for calo struct input, must be set in child class
100
c9b754b8 101 // flag to make statistics for histograming using AliHLTScalars
102 Bool_t fMakeStats;
103
104 // AliHLTScalars
cdac6043 105 //AliHLTScalars scalars;
8ffa7c29 106
107
108 private:
109
110 /// Copy constructor prohibited
111 AliHLTTriggerEmcalElectron(const AliHLTTriggerEmcalElectron & );
112
113 /// Assignment operator prohibited
114 AliHLTTriggerEmcalElectron& operator=(const AliHLTTriggerEmcalElectron &);
115
116 ClassDef(AliHLTTriggerEmcalElectron, 0);
5d8d9319 117
5d8d9319 118};
119
120
5d8d9319 121#endif //ALIHLTTRIGGERCALOCLUSTERENERGY_H