New class derived from AliMisAligner (Raffaele)
authorcoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 23 Feb 2009 12:39:53 +0000 (12:39 +0000)
committercoppedis <coppedis@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 23 Feb 2009 12:39:53 +0000 (12:39 +0000)
ZDC/AliZDCDigitizer.cxx
ZDC/AliZDCMisAligner.cxx [new file with mode: 0644]
ZDC/AliZDCMisAligner.h [new file with mode: 0644]
ZDC/ZDCbaseLinkDef.h
ZDC/libZDCbase.pkg

index d5c6415..28f4548 100644 (file)
@@ -183,10 +183,11 @@ void AliZDCDigitizer::Exec(Option_t* /*option*/)
       }
       //
       pm[(sdigit.GetSector(0))-1][sdigit.GetSector(1)] += sdigit.GetLightPM();
-      /*printf("\n\t Detector %d, Tower %d -> pm[%d][%d] = %.0f \n",
+      // Chiara debugging!
+      printf("\n\t Detector %d, Tower %d -> pm[%d][%d] = %.0f \n",
          sdigit.GetSector(0), sdigit.GetSector(1),sdigit.GetSector(0)-1,
-         sdigit.GetSector(1), pm[sdigit.GetSector(0)-1][sdigit.GetSector(1)]); // Chiara debugging!
-      */
+         sdigit.GetSector(1), pm[sdigit.GetSector(0)-1][sdigit.GetSector(1)]); 
+      
     }
 
     loader->UnloadSDigits();
@@ -204,8 +205,8 @@ void AliZDCDigitizer::Exec(Option_t* /*option*/)
     specP = ((AliGenHijingEventHeader*) genHeader)->ProjSpectatorsp();
     AliDebug(2, Form("\n AliZDCDigitizer -> b = %f fm, Nspecn = %d, Nspecp = %d\n",
                      impPar, specN, specP));
-    printf("\n\t AliZDCDigitizer -> b = %f fm, # generated spectator n = %d," 
-    " # generated spectator p = %d\n", impPar, specN, specP);
+    //printf("\n\t AliZDCDigitizer -> b = %f fm, # generated spectator n = %d," 
+    //" # generated spectator p = %d\n", impPar, specN, specP);
   }
 
   // add spectators
@@ -249,9 +250,9 @@ void AliZDCDigitizer::Exec(Option_t* /*option*/)
            digi[res] = Phe2ADCch(sector[0], sector[1], pm[sector[0]-1][sector[1]], res) 
                    + Pedestal(sector[0], sector[1], res);
        }
-       /*printf("\t DIGIT added -> det %d quad %d - digi[0,1] = [%d, %d]\n",
-            sector[0], sector[1], digi[0], digi[1]); // Chiara debugging!
-       */
+       //printf("\t DIGIT added -> det %d quad %d - digi[0,1] = [%d, %d]\n",
+       //     sector[0], sector[1], digi[0], digi[1]); // Chiara debugging!
+       
        //
        new(pdigit) AliZDCDigit(sector, digi);
         treeD->Fill();
@@ -271,9 +272,9 @@ void AliZDCDigitizer::Exec(Option_t* /*option*/)
      for(Int_t res=0; res<2; res++){
        sigRef[res] += Pedestal(sectorRef[0], sectorRef[1], res);
      }
-     /*printf("\t RefDigit added -> det = %d, quad = %d - digi[0,1] = [%d, %d]\n",
-         sectorRef[0], sectorRef[1], sigRef[0], sigRef[1]); // Chiara debugging!
-     */
+     //printf("\t RefDigit added -> det = %d, quad = %d - digi[0,1] = [%d, %d]\n",
+     //    sectorRef[0], sectorRef[1], sigRef[0], sigRef[1]); // Chiara debugging!
+     
      new(pdigit) AliZDCDigit(sectorRef, sigRef);
      treeD->Fill();     
   }
@@ -285,9 +286,9 @@ void AliZDCDigitizer::Exec(Option_t* /*option*/)
         for(Int_t res=0; res<2; res++){
            digioot[res] = Pedestal(sector[0], sector[1], res); // out-of-time ADCs
        }
-       /*printf("\t DIGIToot added -> det = %d, quad = %d - digi[0,1] = [%d, %d]\n",
-            sector[0], sector[1], digioot[0], digioot[1]); // Chiara debugging!
-       */
+       //printf("\t DIGIToot added -> det = %d, quad = %d - digi[0,1] = [%d, %d]\n",
+       //     sector[0], sector[1], digioot[0], digioot[1]); // Chiara debugging!
+       
        //
        new(pdigit) AliZDCDigit(sector, digioot);
         treeD->Fill();
@@ -300,9 +301,9 @@ void AliZDCDigitizer::Exec(Option_t* /*option*/)
      for(Int_t res=0; res<2; res++){
        sigRefoot[res] = Pedestal(sectorRef[0], sectorRef[1], res);
      }
-     /*printf("\t RefDigitoot added -> det = %d, quad = %d - digi[0,1] = [%d, %d]\n",
-         sectorRef[0], sectorRef[1], sigRefoot[0], sigRefoot[1]); // Chiara debugging!
-     */
+     //printf("\t RefDigitoot added -> det = %d, quad = %d - digi[0,1] = [%d, %d]\n",
+     //    sectorRef[0], sectorRef[1], sigRefoot[0], sigRefoot[1]); // Chiara debugging!
+     
      new(pdigit) AliZDCDigit(sectorRef, sigRefoot);
      treeD->Fill();
   }
@@ -419,7 +420,7 @@ Int_t AliZDCDigitizer::Phe2ADCch(Int_t Det, Int_t Quad, Float_t Light,
 {
   // Evaluation of the ADC channel corresponding to the light yield Light
   Int_t vADCch = (Int_t) (Light * fPMGain[Det-1][Quad] * fADCRes[Res]);
-  //printf("\t Phe2ADCch -> det %d quad %d - phe %.0f  ADC %d\n", Det,Quad,Light,vADCch);
+  printf("\t Phe2ADCch -> det %d quad %d - phe %.0f  ADC %d\n", Det,Quad,Light,vADCch);
 
   return vADCch;
 }
diff --git a/ZDC/AliZDCMisAligner.cxx b/ZDC/AliZDCMisAligner.cxx
new file mode 100644 (file)
index 0000000..6d60af8
--- /dev/null
@@ -0,0 +1,65 @@
+#include "AliZDCMisAligner.h"
+#include "AliGeomManager.h"
+#include "TClonesArray.h"
+#include "AliAlignObjParams.h"
+#include "AliLog.h"
+
+ClassImp(AliZDCMisAligner)
+
+//_______________________________________________________________________________________
+AliZDCMisAligner::AliZDCMisAligner() : AliMisAligner()
+{
+  Printf("asdfasdfasdfasdf\n\n");
+
+}
+
+//_______________________________________________________________________________________
+TClonesArray* AliZDCMisAligner::MakeAlObjsArray() const {
+
+  TClonesArray *array = new TClonesArray("AliAlignObjParams",10);
+  TClonesArray &alobj = *array;
+
+  Double_t dx,dy,dz,dpsi,dtheta,dphi;
+  if(TString(GetMisalType())=="ideal")
+  {
+    dx=0., dy=0., dz=0.;
+    dpsi=0., dtheta=0., dphi=0.;
+  }else if(TString(GetMisalType())=="residual" || TString(GetMisalType())=="full")
+  {
+    dx=0., dy=0.05, dz=0.;
+    dpsi=0., dtheta=0., dphi=0.;
+  }else{
+    AliError(Form("\"%s\" is not a valid identifier for misalignment types. Exiting ...",GetMisalType()));
+    return 0;
+  }
+
+  const char *ZDCCn="ZDC/NeutronZDC_C";
+  const char *ZDCCp="ZDC/ProtonZDC_C";
+  const char *ZDCAn="ZDC/NeutronZDC_A";
+  const char *ZDCAp="ZDC/ProtonZDC_A";
+
+  UShort_t iIndex=0;
+  AliGeomManager::ELayerID iLayer = AliGeomManager::kInvalidLayer;
+  UShort_t volid = AliGeomManager::LayerToVolUID(iLayer,iIndex);
+
+  new(alobj[0]) AliAlignObjParams(ZDCCn, volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+  new(alobj[1]) AliAlignObjParams(ZDCCp, volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+  new(alobj[2]) AliAlignObjParams(ZDCAn, volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+  new(alobj[3]) AliAlignObjParams(ZDCAp, volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
+
+  return array;
+}
+
+//_______________________________________________________________________________________
+AliCDBMetaData* AliZDCMisAligner::GetCDBMetaData() const {
+  AliCDBMetaData* md = new AliCDBMetaData();
+  md->SetResponsible("Chiara Oppedisano");
+
+  if(TString(GetMisalType())=="ideal")
+    md->SetComment("Alignment objects for ZDC ideal misalignment");
+  if(TString(GetMisalType())=="residual")
+    md->SetComment("Alignment objects for ZDC residual misalignment");
+  if(TString(GetMisalType())=="full")
+    md->SetComment("Alignment objects for ZDC full misalignment");
+  return md;
+}
diff --git a/ZDC/AliZDCMisAligner.h b/ZDC/AliZDCMisAligner.h
new file mode 100644 (file)
index 0000000..d136fd0
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef ALI_ZDC_MISALIGNER_H
+#define ALI_ZDC_MISALIGNER_H
+
+#include "TNamed.h"
+#include "TString.h"
+#include "AliMisAligner.h"
+#include "AliCDBMetaData.h"
+
+class TClonesArray;
+class AliCDBManager;
+
+  // Create a TClonesArray of misalignment objects for ZDC
+  // of ideal/residual/full type according to request by
+  // the steering macro
+
+class AliZDCMisAligner : public AliMisAligner {
+
+  public:
+    AliZDCMisAligner();
+    TClonesArray* MakeAlObjsArray() const;
+    AliCDBMetaData* GetCDBMetaData() const;
+
+  private:
+    ClassDef(AliZDCMisAligner,0);
+};
+
+#endif
+
index 9ad5b81..1ffc1f3 100644 (file)
@@ -13,6 +13,7 @@
 #pragma link C++ class  AliZDCPedestals+;
 #pragma link C++ class  AliZDCLaserCalib+;
 #pragma link C++ class  AliZDCCalib+;
+#pragma link C++ class  AliZDCMisAligner+;
 #pragma link C++ class  AliZDCChMap+;
 #pragma link C++ class  AliZDCDataDCS+;
 #pragma link C++ class  AliZDCPreprocessor+;
index 69d2b3f..49e7fd0 100644 (file)
@@ -3,6 +3,7 @@
 
 SRCS= AliZDCDigit.cxx AliZDCRawStream.cxx AliZDCPedestals.cxx\
       AliZDCLaserCalib.cxx AliZDCCalib.cxx AliZDCChMap.cxx\
+      AliZDCMisAligner.cxx\
       AliZDCDataDCS.cxx AliZDCPreprocessor.cxx AliZDCQAChecker.cxx
 
 HDRS= $(SRCS:.cxx=.h)