Small bug fixes (mainly in mapping) and some clean up
authorodjuvsla <odjuvsla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 4 Sep 2009 13:22:01 +0000 (13:22 +0000)
committerodjuvsla <odjuvsla@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 4 Sep 2009 13:22:01 +0000 (13:22 +0000)
HLT/PHOS/AliHLTPHOSClusterAnalyser.cxx
HLT/PHOS/AliHLTPHOSClusterAnalyserComponent.cxx
HLT/PHOS/AliHLTPHOSConstants.h
HLT/PHOS/AliHLTPHOSDigitDataStruct.h
HLT/PHOS/AliHLTPHOSDigitMaker.h
HLT/PHOS/AliHLTPHOSMapper.cxx
HLT/PHOS/AliHLTPHOSRawAnalyzerCrude.cxx
HLT/PHOS/AliHLTPHOSRcuProperties.cxx

index 9b8fd27..95e9a11 100644 (file)
@@ -34,6 +34,7 @@
 #include "AliHLTCaloClusterDataStruct.h"
 #include "AliHLTPHOSPhysicsAnalyzer.h"
 #include "AliPHOSGeoUtils.h"
+#include "AliESDCaloCluster.h"
 #include "TMath.h"
 #include "TVector3.h"
 
@@ -175,13 +176,8 @@ AliHLTPHOSClusterAnalyser::CreateClusters(UInt_t availableSize, UInt_t& totSize)
        {
          return -1; //Might get out of buffer, exiting
        }
-      //      localPos[0] = recPointPtr->fX;
-      //      localPos[1] = recPointPtr->fZ;
-      //       fAnalyzerPtr->GlobalPosition( localPos, globalPos, recPointPtr->fModule);
-      
-
       //      cout << "Local Position (x:z:module): " << recPointPtr->fX << " : "<< recPointPtr->fZ << " : " << recPointPtr->fModule << endl;
-      fPHOSGeometry->Local2Global(recPointPtr->fModule + 1, recPointPtr->fX, recPointPtr->fZ, globalPos);
+      fPHOSGeometry->Local2Global(recPointPtr->fModule, recPointPtr->fX, recPointPtr->fZ, globalPos);
       // cout << "Global Position (x:y:z): " << globalPos[0] << " : "<< globalPos[1] << " : " << globalPos[2] << endl << endl;
 
       caloClusterPtr->fGlobalPos[0] = globalPos[0];
@@ -195,7 +191,7 @@ AliHLTPHOSClusterAnalyser::CreateClusters(UInt_t availableSize, UInt_t& totSize)
      
       for(UInt_t j = 0; j < caloClusterPtr->fNCells; j++)
        {
-         fPHOSGeometry->RelPosToAbsId((Int_t)(recPointPtr->fModule + 1), (double)(digitPtr->fX), (double)(digitPtr->fZ), id);
+         fPHOSGeometry->RelPosToAbsId((Int_t)(recPointPtr->fModule), (double)(digitPtr->fX), (double)(digitPtr->fZ), id);
          *cellIDPtr = id;
          *cellAmpFracPtr = digitPtr->fEnergy/recPointPtr->fAmp;
          digitPtr++;
@@ -204,7 +200,7 @@ AliHLTPHOSClusterAnalyser::CreateClusters(UInt_t availableSize, UInt_t& totSize)
        }
 
       caloClusterPtr->fEnergy = recPointPtr->fAmp;
-      //      cout << "CA: Energy End: " << caloClusterPtr->fEnergy << endl;
+
       if(fDoClusterFit)
        {
          FitCluster(recPointPtr);
@@ -215,7 +211,7 @@ AliHLTPHOSClusterAnalyser::CreateClusters(UInt_t availableSize, UInt_t& totSize)
          caloClusterPtr->fFitQuality = 0;
          caloClusterPtr->fM20 = 0;
          caloClusterPtr->fM02 = 0;
-         //      caloClusterPtr->fM11 = 0;
+
        }
       if(fHaveCPVInfo)
        {
@@ -245,7 +241,7 @@ AliHLTPHOSClusterAnalyser::CreateClusters(UInt_t availableSize, UInt_t& totSize)
          caloClusterPtr->fDistanceToBadChannel = -1;
        }
 
-      caloClusterPtr->fClusterType = '\0';
+      caloClusterPtr->fClusterType = (AliESDCaloCluster::kPHOSCluster);
       //      totSize += sizeof(AliHLTCaloClusterDataStruct) + (caloClusterPtr->fNCells)*(sizeof(Short_t) +sizeof(Float_t)-1);   
       totSize += sizeof(AliHLTCaloClusterDataStruct) + (caloClusterPtr->fNCells-1)*(sizeof(Short_t) + sizeof(Float_t));   
 
index dbfbab9..d5e1587 100644 (file)
@@ -96,7 +96,7 @@ AliHLTPHOSClusterAnalyserComponent::GetOutputDataType()
 {
   //See headerfile for documentation
 
-  return AliHLTPHOSDefinitions::fgkCaloClusterDataType;
+  return kAliHLTDataTypeCaloCluster;
 }
 
 void
@@ -148,7 +148,7 @@ AliHLTPHOSClusterAnalyserComponent::DoEvent(const AliHLTComponentEventData& evtD
         }
       specification = specification|iter->fSpecification;
       fClusterAnalyserPtr->SetRecPointDataPtr(reinterpret_cast<AliHLTPHOSRecPointHeaderStruct*>(iter->fPtr));
-      HLTDebug("Number of rec points: %d", (reinterpret_cast<AliHLTPHOSRecPointHeaderStruct*>(iter->fPtr))->fNRecPoints);
+      //      HLTDebug("Number of rec points: %d", (reinterpret_cast<AliHLTPHOSRecPointHeaderStruct*>(iter->fPtr))->fNRecPoints);
 
       if(fDoDeconvolution)
        {
@@ -172,15 +172,16 @@ AliHLTPHOSClusterAnalyserComponent::DoEvent(const AliHLTComponentEventData& evtD
 
     }
 
-  HLTDebug("Number of clusters: %d", nClusters); 
-  caloClusterHeaderPtr->fNClusters = nClusters;
+  HLTDebug("Number of clusters: %d", nClusters);
+  //  caloClusterHeaderPtr->fNClusters = nClusters;
+  reinterpret_cast<AliHLTCaloClusterHeaderStruct*>(outBPtr)->fNClusters = nClusters;
   mysize += sizeof(AliHLTCaloClusterHeaderStruct); 
   
   AliHLTComponentBlockData bd;
   FillBlockData( bd );
   bd.fOffset = offset;
   bd.fSize = mysize;
-  bd.fDataType = AliHLTPHOSDefinitions::fgkCaloClusterDataType;
+  bd.fDataType = kAliHLTDataTypeCaloCluster;
   bd.fSpecification = specification;
   outputBlocks.push_back( bd );
  
index c89b171..8fbda16 100644 (file)
@@ -35,8 +35,8 @@ namespace PhosHLTConst
  //  const int ALTROMAXTRALERSIZE = 7;  
   //  const int  DDLBLOCKSIZE = 5;
 
-  const int NZROWSRCU     =   28;                    /**<Number of rows per module*/       
-  const int NXCOLUMNSRCU  =   32
+  const int NZROWSRCU     =   56;                    /**<Number of rows per module*/       
+  const int NXCOLUMNSRCU  =   16
   const int NZROWSMOD      =  56;                    /**<Number of rows per module*/       
   const int NXCOLUMNSMOD   =  64;                 /**<Number of columns per module*/ 
   const int NGAINS         =   2;                             /**<Number of gains per ALTRO channel*/
index 6531fc6..385bcd6 100644 (file)
 struct AliHLTPHOSDigitDataStruct
 {
   /** The x coordinate */
-  Int_t fX;
+  Float_t fX;
 
   /** The x coordinate */
-  Int_t fZ;
+  Float_t fZ;
 
   /** The module number */
   Int_t fModule;
index fe183ec..9347ed6 100644 (file)
@@ -138,10 +138,12 @@ private:
     if(channelCoordinates[2] == HIGHGAIN)
       {
        fDigitStructPtr->fEnergy = channelData->fEnergy*fHighGainFactors[channelCoordinates[0]][channelCoordinates[1]];
+       //      printf("HG channel (x = %d, z = %d) with amplitude: %f --> Digit with energy: %f \n", channelCoordinates[0], channelCoordinates[1], channelData->fEnergy, fDigitStructPtr->fEnergy);
       }
     else
       {
        fDigitStructPtr->fEnergy = channelData->fEnergy*fLowGainFactors[channelCoordinates[0]][channelCoordinates[1]];
+       //      printf("LG channel (x = %d, z = %d) with amplitude: %f --> Digit with energy: %f\n", channelCoordinates[0], channelCoordinates[1], channelData->fEnergy, fDigitStructPtr->fEnergy); 
       }
     fDigitStructPtr->fTime = channelData->fTime * 0.0000001; //TODO
     fDigitStructPtr->fCrazyness = channelData->fCrazyness;
index 72246b2..744f4b3 100644 (file)
@@ -87,9 +87,12 @@ AliHLTPHOSMapper::InitAltroMapping()
          for(int i=0; i<nChannels; i ++)
            {
              res = fscanf(fp, "%d %d %d %d\n", &tmpHwaddr, &tmpXCol, &tmpZRow,  &tmpGain);
-             fHw2geomapPtr[tmpHwaddr].fXCol   = tmpXCol;
-             fHw2geomapPtr[tmpHwaddr].fZRow   = tmpZRow;
-             fHw2geomapPtr[tmpHwaddr].fGain  = tmpGain;
+             if(tmpGain < 2)
+               {
+                 fHw2geomapPtr[tmpHwaddr].fXCol   = tmpXCol;
+                 fHw2geomapPtr[tmpHwaddr].fZRow   = tmpZRow;
+                 fHw2geomapPtr[tmpHwaddr].fGain  = tmpGain;
+               } 
            }
          fIsInitializedMapping = true;   
          fclose(fp);
@@ -122,19 +125,19 @@ AliHLTPHOSMapper::InitDDLSpecificationMapping()
       
       else if(ddl%4 == 1)
        {
-         fSpecificationMapPtr[ddl].fRcuX = 0
-         fSpecificationMapPtr[ddl].fRcuZ = 1;
+         fSpecificationMapPtr[ddl].fRcuX = 1
+         fSpecificationMapPtr[ddl].fRcuZ = 0;
        }
       
       else if( ddl%4 == 2)
        {
-         fSpecificationMapPtr[ddl].fRcuX = 1
+         fSpecificationMapPtr[ddl].fRcuX = 2
          fSpecificationMapPtr[ddl].fRcuZ = 0;
        }
       else
        {
-         fSpecificationMapPtr[ddl].fRcuX = 1
-         fSpecificationMapPtr[ddl].fRcuZ = 1;
+         fSpecificationMapPtr[ddl].fRcuX = 3
+         fSpecificationMapPtr[ddl].fRcuZ = 0;
        }
       
       fSpecificationMapPtr[ddl].fRcuZOffset = NZROWSRCU*(fSpecificationMapPtr[ddl].fRcuZ);
@@ -188,7 +191,10 @@ AliHLTPHOSMapper::GetChannelID(Int_t specification, Int_t hwAddress)
   else if(specification == 0x80000) index = 19;
 
   else HLTError("Specification 0x%X not consistent with single DDL in PHOS", specification);
-  
+  //  HLTError("Channel ID: 0x%X Coordinates: x = %d, z = %d, gain = %d", ((fHw2geomapPtr[hwAddress].fXCol + fSpecificationMapPtr[index].fRcuXOffset) |((fHw2geomapPtr[hwAddress].fZRow + fSpecificationMapPtr[index].fRcuZOffset) << 6) | (fHw2geomapPtr[hwAddress].fGain << 12) | fSpecificationMapPtr[index].fModId << 13),
+  //      fHw2geomapPtr[hwAddress].fXCol,
+  //      fHw2geomapPtr[hwAddress].fZRow, 
+  //      fHw2geomapPtr[hwAddress].fGain);
   return ((fHw2geomapPtr[hwAddress].fXCol + fSpecificationMapPtr[index].fRcuXOffset) |
          ((fHw2geomapPtr[hwAddress].fZRow + fSpecificationMapPtr[index].fRcuZOffset) << 6) |
          (fHw2geomapPtr[hwAddress].fGain << 12) |
@@ -202,6 +208,7 @@ AliHLTPHOSMapper::GetChannelCoord(UShort_t channelId, UShort_t* channelCoord)
   channelCoord[1] = (channelId >> 6)&0x3f;
   channelCoord[2] = (channelId >> 12)&0x1;
   channelCoord[3] = (channelId >> 13)&0x1f;
+  //  printf("Channel ID: 0x%X Coordinates: x = %d, z = %d, gain = %d\n", channelId, channelCoord[0], channelCoord[1], channelCoord[2]);
 }
 
 void
@@ -209,8 +216,7 @@ AliHLTPHOSMapper::GetLocalCoord(UShort_t channelId, Float_t* channelCoord)
 {
   channelCoord[0] = (static_cast<Float_t>(channelId&0x3f) - NXCOLUMNSMOD/2)* fCellStep;
   channelCoord[1] = (static_cast<Float_t>((channelId >> 6)&0x3f) - NZROWSMOD/2) * fCellStep;
-  channelCoord[2] = (channelId >> 12)&0x1;
-  channelCoord[2] = (channelId >> 13)&0x1f;
+  //  printf("Local coordinates: x = %f, z = %f\n", channelCoord[0], channelCoord[1]);
 }
 
 Int_t 
index 64d7faa..13f500b 100644 (file)
@@ -124,6 +124,7 @@ AliHLTPHOSRawAnalyzerCrude::EvaluateShort(int start, int length)
 
   for(int i=start; i<length; i++)
     {
+      cout << "sample index: " << i << endl;
         //   if(fDoubleDataPtr[i] >  tmpAmplitudeMax && i > 5)
       if(fShortDataPtr[i] >  tmpAmplitudeMax && i > 5)
        {
index a5a5dbb..1d42117 100644 (file)
@@ -109,45 +109,21 @@ AliHLTPHOSRcuProperties::InitializeCoordinates(AliHLTUInt16_t /*equippmentID*/)
 
   if( fRcuID  == 1)
     {
-      fRcuX = 0
-      fRcuZ = 1;
+      fRcuX = 1
+      fRcuZ = 0;
     }
  
   if( fRcuID == 2)
     {
-      fRcuX = 1
+      fRcuX = 2
       fRcuZ = 0;
     }
 
   if( fRcuID == 3)
     {
-      fRcuX = 1
-      fRcuZ = 1;
+      fRcuX = 3
+      fRcuZ = 0;
     }
-  // if( fRcuID  == 0)
-  //   {
-  //     fRcuX = 0; 
-  //     fRcuZ = 0;
-  //   }
-
-  // if( fRcuID  == 1)
-  //   {
-  //     fRcuX = 1; 
-  //     fRcuZ = 0;
-  //   }
-  // if( fRcuID == 2)
-  //   {
-  //     fRcuX = 2; 
-  //     fRcuZ = 0;
-  //   }
-
-  // if( fRcuID == 3)
-  //   {
-  //     fRcuX = 3; 
-  //     fRcuZ = 0;
-  //   }
 
   fRcuZOffset =  NZROWSRCU*fRcuZ;
   fRcuXOffset =  NXCOLUMNSRCU*fRcuX;