AliPhysics  b43479f (b43479f)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliEMCALTriggerOfflineQAPP.h
Go to the documentation of this file.
1 
9 #ifndef ALIEMCALTRIGGEROFFLINEQAPP_H
10 #define ALIEMCALTRIGGEROFFLINEQAPP_H
11 
12 /**************************************************************************
13 * Copyright(c) 1998-2016, ALICE Experiment at CERN, All rights reserved. *
14 * *
15 * Author: The ALICE Off-line Project. *
16 * Contributors are mentioned in the code where appropriate. *
17 * *
18 * Permission to use, copy, modify and distribute this software and its *
19 * documentation strictly for non-commercial purposes is hereby granted *
20 * without fee, provided that the above copyright notice appears in all *
21 * copies and that both the copyright notice and this permission notice *
22 * appear in the supporting documentation. The authors make no claims *
23 * about the suitability of this software for any purpose. It is *
24 * provided "as is" without express or implied warranty. *
25 **************************************************************************/
26 
27 // C++
28 #include <set>
29 #include <iostream>
30 
31 // Root
32 #include <TNamed.h>
33 #include <TArrayF.h>
34 
35 // AliRoot
36 #include <AliEMCALTriggerQA.h>
37 
38 // AliPhysics
39 #include "THistManager.h"
40 
41 class AliEMCALTriggerPatchInfo;
42 class TObjArray;
43 class THashList;
44 class AliEMCALTriggerFastOR;
45 class AliEMCALGeometry;
46 class AliVCaloCells;
47 
48 class AliEMCALTriggerOfflineQAPP : public AliEMCALTriggerQA {
49 public:
50 
52  AliEMCALTriggerOfflineQAPP(const char* name);
55 
56  void SetL0TimeRange(Int_t min, Int_t max) { fL0MinTime = min; fL0MaxTime = max; }
57  void SetFastORandCellThresholds(Int_t l0, Int_t l1, Double_t cell) { fMinL0FastORAmp = l0; fMinL1FastORAmp = l1; fMinCellAmp = cell; }
58  void EnableDCal(Bool_t e = kTRUE) { fDCalPlots = e; }
59 
60  // TRU bad channel
61  void AddFastORBadChannel(Short_t absId) { fBadChannels.insert(absId); }
62  void ReadFastORBadChannelFromStream(std::istream& stream);
63  void ReadFastORBadChannelFromFile(const char* fname);
64  void AddOfflineBadChannel(Short_t absId) { fOfflineBadChannels.insert(absId) ; }
65  void ReadOfflineBadChannelFromFile(const char* fname);
66  void ReadOfflineBadChannelFromStream(std::istream& stream);
67  void ReadFastORPedestalFromStream(std::istream& stream);
68  void ReadFastORPedestalFromFile(const char* fname);
69  void SetFastORPedestal(Short_t absId, Float_t ped);
71 
72  // Overloaded methods of AliEMCALTriggerQA
73  void Init();
74  void ProcessPatch(const AliEMCALTriggerPatchInfo* patch);
75  void ProcessFastor(const AliEMCALTriggerFastOR* fastor, AliVCaloCells* cells = 0);
76  void ProcessCell(const AliEMCALCellInfo& cell);
77  void EventCompleted();
78  TCollection* GetListOfHistograms() { return fHistManager.GetListOfHistograms(); }
79  void EventTimeStamp(UInt_t timeStamp);
80 
81 
82 protected:
83 
84  std::set<Short_t> fOfflineBadChannels;
85  std::set<Short_t> fBadChannels;
86  TArrayF fFastORPedestal;
87 
88  Bool_t fDCalPlots;
89  Int_t fL0MinTime;
90  Int_t fL0MaxTime;
91  Double_t fMinCellAmp;
94  THistManager fHistManager;
95 
96  const AliEMCALTriggerPatchInfo *fMaxPatchEMCal[6][3];
97  const AliEMCALTriggerPatchInfo *fMaxPatchDCal[6][3];
98  Double_t fSumOfflineEMCal;
99  Int_t fSumL0EMCal;
100  Int_t fSumL1EMCal;
101  Double_t fSumOfflineDCal;
102  Int_t fSumL0DCal;
103  Int_t fSumL1DCal;
104  Int_t fNCellEMCal;
105  Int_t fNL0EMCal;
106  Int_t fNL1EMCal;
107  Int_t fNCellDCal;
108  Int_t fNL0DCal;
109  Int_t fNL1DCal;
110  Int_t fNTotTRU;
111  Int_t fMaxFORabsId;
112 
113 private:
115 
117  ClassDef(AliEMCALTriggerOfflineQAPP, 1);
119 };
120 
121 #endif
void ProcessCell(const AliEMCALCellInfo &cell)
void ReadFastORBadChannelFromFile(const char *fname)
Int_t fNL0EMCal
! EMCal number of L0 FastORs (will be reset each event)
const AliEMCALTriggerPatchInfo * fMaxPatchDCal[6][3]
! DCal max patch (will be reset each event)
AliEMCALTriggerOfflineQAPP()
Dummy constructor for ROOT I/O.
Int_t fSumL1DCal
! DCal sum of all online energy deposition (will be reset each event)
void ReadOfflineBadChannelFromStream(std::istream &stream)
TArrayF fFastORPedestal
FastOR pedestal.
Int_t fNL1DCal
! DCal number of L1 FastORs (will be reset each event)
Int_t fSumL0DCal
! DCal sum of all online energy deposition (will be reset each event)
void SetFastORandCellThresholds(Int_t l0, Int_t l1, Double_t cell)
void SetFastORPedestal(Short_t absId, Float_t ped)
AliEMCALTriggerOfflineQAPP & operator=(const AliEMCALTriggerOfflineQAPP &)
Int_t fNL0DCal
! DCal number of L0 FastORs (will be reset each event)
std::set< Short_t > fBadChannels
Container of bad channels.
Class to generate EMCal trigger QA plots in pp collisions.
Double_t fMinCellAmp
Minimum offline amplitude of the cells.
virtual ~AliEMCALTriggerOfflineQAPP()
Destructor.
void ProcessFastor(const AliEMCALTriggerFastOR *fastor, AliVCaloCells *cells=0)
Bool_t fDCalPlots
Whether to add DCal QA plots.
Int_t fNL1EMCal
! EMCal number of L1 FastORs (will be reset each event)
Int_t fNTotTRU
! Total number of TRUs
Int_t fMinL1FastORAmp
Minimum L1 amplitude of the FastORs.
void Init()
Initialize the class, i.e. allocate histograms.
void SetL0TimeRange(Int_t min, Int_t max)
Int_t fMaxFORabsId
! Maximum FastOR abs id
Int_t fSumL1EMCal
! EMCal sum of all online energy deposition (will be reset each event)
void ReadFastORPedestalFromFile(const char *fname)
const AliEMCALTriggerPatchInfo * fMaxPatchEMCal[6][3]
! EMCal max patch (will be reset each event)
void ReadFastORBadChannelFromStream(std::istream &stream)
void ReadOfflineBadChannelFromFile(const char *fname)
std::set< Short_t > fOfflineBadChannels
Abs ID of offline bad channels.
void ProcessPatch(const AliEMCALTriggerPatchInfo *patch)
void ReadFastORPedestalFromStream(std::istream &stream)
Double_t fSumOfflineDCal
! DCal sum of all offline energy deposition (will be reset each event)
Int_t fNCellEMCal
! EMCal number of offline cells (will be reset each event)
Int_t fSumL0EMCal
! EMCal sum of all online energy deposition (will be reset each event)
Int_t fMinL0FastORAmp
Minimum L0 amplitude of the FastORs.
Double_t fSumOfflineEMCal
! EMCal sum of all offline energy deposition (will be reset each event)
Int_t fNCellDCal
! DCal number of offline cells (will be reset each event)
THistManager fHistManager
Histogram manager.