adding SSD cluster QA component (Ingrid & Panos)
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSSSDQARecPointsComponent.h
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
23 class 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  */
40 class AliHLTITSSSDQARecPointsComponent : public AliHLTProcessor
41 {
42 public:
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
62 protected:
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   
77 private:
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