adding SSD cluster QA component (Ingrid & Panos)
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSSSDQARecPointsComponent.h
CommitLineData
fd091d74 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTITSSSDQARECPOINTSCOMPONENT_H
4#define ALIHLTITSSSDQARECPOINTSCOMPONENT_H
5//* This file is property of and copyright by the ALICE HLT Project */
6//* ALICE Experiment at CERN, All rights reserved. */
7//* See cxx source for full Copyright notice */
8
9/** @file AliHLTITSSSDQARecPointsComponent.h
10 @author Ingrid Kielen
11 @brief Component for the SSD clusters QA
12*/
13
14
15#include "AliHLTProcessor.h"
16#include "TH1F.h"
17#include "TH2F.h"
18#include "TH3F.h"
19#include "AliHLTITSSpacePointData.h"
20#include "TClonesArray.h"
21#include "AliITSRecPoint.h"
22
23class AliHLTTPCConfMapper;
24
25/**
26 * @class AliHLTITSSSDQARecPointsComponent
27 * Component for ploting charge in clusters
28 *
29 * Component ID: \b ITSSSDQARecPoints <br>
30 * Library: \b libAliHLTITS.
31 *
32 * Mandatory arguments: <br>
33 *
34 *
35 * Optional arguments: <br>
36 *
37 *
38 * @ingroup alihlt_tpc_components
39 */
40class AliHLTITSSSDQARecPointsComponent : public AliHLTProcessor
41{
42public:
43 /** default constructor */
44 AliHLTITSSSDQARecPointsComponent();
45 /** destructor */
46 virtual ~AliHLTITSSSDQARecPointsComponent();
47
48 // Public functions to implement AliHLTComponent's interface.
49 // These functions are required for the registration process
50
51 /** interface function, see AliHLTComponent for description */
52 const char* GetComponentID();
53 /** interface function, see AliHLTComponent for description */
54 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
55 /** interface function, see AliHLTComponent for description */
56 AliHLTComponentDataType GetOutputDataType();
57 /** interface function, see AliHLTComponent for description */
58 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
59 /** interface function, see AliHLTComponent for description */
60 AliHLTComponent* Spawn();
61
62protected:
63
64 // Protected functions to implement AliHLTComponent's interface.
65 // These functions provide initialization as well as the actual processing
66 // capabilities of the component.
67
68 /** interface function, see AliHLTComponent for description */
69 int DoInit(int argc, const char** argv);
70 /** interface function, see AliHLTComponent for description */
71 int DoDeinit();
72 /** interface function, see AliHLTComponent for description */
73 int DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData );
74
75 using AliHLTProcessor::DoEvent;
76
77private:
78 /** copy constructor prohibited */
79 AliHLTITSSSDQARecPointsComponent(const AliHLTITSSSDQARecPointsComponent&);
80 /** assignment operator prohibited */
81 AliHLTITSSSDQARecPointsComponent& operator=(const AliHLTITSSSDQARecPointsComponent&);
82
83 static const Int_t fgkSSDMODULES = 1698; //total number of SSD modules
84 static const Int_t fgkSSDLADDERSLAYER5 = 34; //ladders on layer 5
85 static const Int_t fgkSSDLADDERSLAYER6 = 38; //ladders on layer 6
86 static const Int_t fgkSSDMODULESPERLADDERLAYER5 = 22; //modules per ladder - layer 5
87 static const Int_t fgkSSDMODULESPERLADDERLAYER6 = 25; //modules per ladder - layer 6
88 static const Int_t fgkSSDMODULESLAYER5 = 748; //total number of SSD modules - layer5
89 static const Int_t fgkSSDMODULESLAYER6 = 950; //total number of SSD modules - layer6
90 static const Int_t fgkNumberOfPSideStrips = 768; //number of P-side strips
91
92 TH1F *fHistSSDModuleIdLayer5;
93 TH1F *fHistSSDModuleIdLayer6;
94 TH1F *fHistSSDClusterPerEventLayer5;
95 TH1F *fHistSSDClusterPerEventLayer6;
96 TH1F *fHistSSDLocalXLayer5;
97 TH1F *fHistSSDLocalXLayer6;
98 TH1F *fHistSSDLocalZLayer5;
99 TH1F *fHistSSDLocalZLayer6;
100 TH1F *fHistSSDGlobalXLayer5;
101 TH1F *fHistSSDGlobalXLayer6;
102 TH1F *fHistSSDGlobalYLayer5;
103 TH1F *fHistSSDGlobalYLayer6;
104 TH1F *fHistSSDGlobalZLayer5;
105 TH1F *fHistSSDGlobalZLayer6;
106 TH1F *fHistSSDPhiLayer5;
107 TH1F *fHistSSDPhiLayer6;
108 TH1F *fHistSSDThetaLayer5;
109 TH1F *fHistSSDThetaLayer6;
110 TH1F *fHistSSDRadiusLayer5;
111 TH1F *fHistSSDRadiusLayer6;
112 TH1F *fHistSSDClusterTypeLayer5;
113 TH1F *fHistSSDClusterTypeLayer6;
114 TH1F *fHistSSDChargeRatioLayer5;
115 TH1F *fHistSSDChargeRatioLayer6;
116 TH1F *fHistSSDChargekeVLayer5;
117 TH1F *fHistSSDChargekeVLayer6;
118 TH1F *fHistSSDChargePSideLayer5;
119 TH1F *fHistSSDChargePSideLayer6;
120 TH1F *fHistSSDChargeNSideLayer5;
121 TH1F *fHistSSDChargeNSideLayer6;
122 TH1F *fHistSSDChargeRatio2Layer5;
123 TH1F *fHistSSDChargeRatio2Layer6;
124 TH2F *fHistSSDChargePNSideLayer5;
125 TH2F *fHistSSDChargePNSideLayer6;
126 TH2F *fHistSSDChargeMapLayer5;
127 TH2F *fHistSSDChargeMapLayer6;
128 TH2F *fHistSSDClusterMapLayer5;
129 TH2F *fHistSSDClusterMapLayer6;
130 TObjArray *fHistArray;
131
132 ClassDef(AliHLTITSSSDQARecPointsComponent, 0);
133
134};
135#endif