Divided calorimter cluster and digits pointsets into two separate container
authorslindal <slindal@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 24 Apr 2010 17:44:22 +0000 (17:44 +0000)
committerslindal <slindal@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 24 Apr 2010 17:44:22 +0000 (17:44 +0000)
HLT/EVE/AliHLTEveCalo.cxx
HLT/EVE/AliHLTEveCalo.h
HLT/EVE/AliHLTEveEmcal.cxx
HLT/EVE/AliHLTEvePhos.cxx

index b805add..db24fb2 100644 (file)
@@ -41,7 +41,8 @@ ClassImp(AliHLTEveCalo);
 
 AliHLTEveCalo::AliHLTEveCalo(Int_t nm, TString name) : 
   AliHLTEveBase(), 
-  fBoxSet(NULL),
+  fBoxSetDigits(NULL),
+  fBoxSetClusters(NULL),
   fElementList(NULL),
   fNModules(nm),
   fName(name), 
@@ -63,9 +64,13 @@ AliHLTEveCalo::AliHLTEveCalo(Int_t nm, TString name) :
 AliHLTEveCalo::~AliHLTEveCalo()
 {
   //Destructor
-  if(fBoxSet)
-    delete fBoxSet;
-  fBoxSet = NULL;
+  if(fBoxSetDigits)
+    delete fBoxSetDigits;
+  fBoxSetDigits = NULL;
+
+  if(fBoxSetClusters)
+    delete fBoxSetClusters;
+  fBoxSetClusters = NULL;
 
   if(fElementList)
     delete fElementList;
@@ -113,24 +118,24 @@ void AliHLTEveCalo::ProcessHistogram(AliHLTHOMERBlockDesc * block ) {
 }
 
 
-void AliHLTEveCalo::ProcessDigits(AliHLTHOMERBlockDesc* block) {
-  //See header file for documentation
+// void AliHLTEveCalo::ProcessDigits(AliHLTHOMERBlockDesc* block) {
+//   //See header file for documentation
   
-  AliHLTCaloDigitDataStruct *ds = reinterpret_cast<AliHLTCaloDigitDataStruct*> (block->GetData());
-  UInt_t nDigits = block->GetSize()/sizeof(AliHLTCaloDigitDataStruct);
+//   AliHLTCaloDigitDataStruct *ds = reinterpret_cast<AliHLTCaloDigitDataStruct*> (block->GetData());
+//   UInt_t nDigits = block->GetSize()/sizeof(AliHLTCaloDigitDataStruct);
     
 
-  for(UInt_t i = 0; i < nDigits; i++, ds++) {
+//   for(UInt_t i = 0; i < nDigits; i++, ds++) {
 
-    Float_t x = (ds->fX - 32)* 2.2;
-      Float_t z = (ds->fZ - 28) * 2.2;
+//     Float_t x = (ds->fX - 32)* 2.2;
+//       Float_t z = (ds->fZ - 28) * 2.2;
 
 
-    fBoxSet[4-ds->fModule].AddBox(x, 0, z, 2.2, ds->fEnergy*200, 2.2);
-    fBoxSet[4-ds->fModule].DigitValue(static_cast<Int_t>(ds->fEnergy*10));
-  }
+//     fBoxSetDigits[4-ds->fModule].AddBox(x, 0, z, 2.2, ds->fEnergy*200, 2.2);
+//     fBoxSetDigits[4-ds->fModule].DigitValue(static_cast<Int_t>(ds->fEnergy*10));
+//   }
 
-}
+// }
 
 
 void AliHLTEveCalo::ProcessClusters(AliHLTHOMERBlockDesc* block) {
@@ -158,23 +163,36 @@ void AliHLTEveCalo::UpdateElements() {
   //See header file for documentation
   if(fCanvas) fCanvas->Update();
 
-  if(fBoxSet) {
+  if(fBoxSetDigits) {
+    for(int im = 0; im < fNModules; im++) {
+      fBoxSetDigits[im].ElementChanged();
+    }
+  }
+
+  if(fBoxSetClusters) {
     for(int im = 0; im < fNModules; im++) {
-      fBoxSet[im].ElementChanged();
+      fBoxSetClusters[im].ElementChanged();
     }
   }
+
 }
 
 void AliHLTEveCalo::ResetElements(){
   //See header file for documentation
   fHistoCount = 0;
   
-  if ( fBoxSet ){
+  if ( fBoxSetDigits ){
     for(int im = 0; im < fNModules; im++){
-      cout<<"Resetting"<<endl;
-      fBoxSet[im].Reset();   
+      fBoxSetDigits[im].Reset();   
     }
   }
+
+  if ( fBoxSetClusters ){
+    for(int im = 0; im < fNModules; im++){
+      fBoxSetClusters[im].Reset();   
+    }
+  }
+
 }
 
 Int_t AliHLTEveCalo::GetPadNumber(TString name) {
index 65938df..904f340 100644 (file)
@@ -62,7 +62,8 @@ protected :
 
   Int_t GetPadNumber(TString name);  
 
-  TEveBoxSet * fBoxSet;            //Boxset for clusters and digist
+  TEveBoxSet * fBoxSetDigits;            //Boxset for clusters and digist
+  TEveBoxSet * fBoxSetClusters;            //Boxset for clusters and digist
   
   TEveElementList * fElementList; //Element list to contain the clusters
 
index df92ab8..7ce7306 100644 (file)
@@ -63,19 +63,33 @@ TEveElementList * AliHLTEveEmcal::CreateElementList() {
   TEveRGBAPalette* pal = new TEveRGBAPalette(0, 512);
   pal->SetLimits(0, 15);
   
-  fBoxSet = new TEveBoxSet[fNModules];
+  fBoxSetDigits = new TEveBoxSet[fNModules];
+  fBoxSetClusters = new TEveBoxSet[fNModules];
   
   for (Int_t sm=0; sm<fNModules; ++sm) {
     
-    fBoxSet[sm].SetTitle(Form("Clusters Module %d", sm));
-    fBoxSet[sm].SetName(Form("Clusters Module %d", sm));
-    fBoxSet[sm].SetOwnIds(kTRUE);
+    //Digits box set
+    fBoxSetDigits[sm].SetTitle(Form("Clusters Module %d", sm));
+    fBoxSetDigits[sm].SetName(Form("Clusters Module %d", sm));
+    fBoxSetDigits[sm].SetOwnIds(kTRUE);
     
-    fBoxSet[sm].Reset(TEveBoxSet::kBT_AABox, kFALSE, 64);
-    fBoxSet[sm].RefMainTrans().SetFrom(*gEMCALNode->GetDaughter(sm)->GetMatrix());
-    fBoxSet[sm].SetPalette(pal);
+    fBoxSetDigits[sm].Reset(TEveBoxSet::kBT_AABox, kFALSE, 64);
+    fBoxSetDigits[sm].RefMainTrans().SetFrom(*gEMCALNode->GetDaughter(sm)->GetMatrix());
+    fBoxSetDigits[sm].SetPalette(pal);
     
-    fElementList->AddElement(&fBoxSet[sm]);
+    fElementList->AddElement(&fBoxSetDigits[sm]);
+    //Clusters
+    fBoxSetClusters[sm].SetTitle(Form("Clusters Module %d", sm));
+    fBoxSetClusters[sm].SetName(Form("Clusters Module %d", sm));
+    fBoxSetClusters[sm].SetOwnIds(kTRUE);
+    
+    fBoxSetClusters[sm].Reset(TEveBoxSet::kBT_AABox, kFALSE, 64);
+    fBoxSetClusters[sm].RefMainTrans().SetFrom(*gEMCALNode->GetDaughter(sm)->GetMatrix());
+    fBoxSetClusters[sm].SetPalette(pal);
+    
+    fElementList->AddElement(&fBoxSetClusters[sm]);
+
 
   }
   
@@ -85,8 +99,9 @@ TEveElementList * AliHLTEveEmcal::CreateElementList() {
 void AliHLTEveEmcal::AddClusters(Float_t * pos, Int_t module, Float_t energy) {
   //See header file for documentation
 
-  fBoxSet[module].AddBox(15, pos[1], pos[2], energy*20, 6.1, 6.1);
-  fBoxSet[module].DigitValue(static_cast<Int_t>(energy));
+  fBoxSetClusters[module].AddBox(15, pos[1], pos[2], energy*20, 6.1, 6.1);
+  fBoxSetClusters[module].DigitValue(static_cast<Int_t>(energy));
+
 }
 
 void AliHLTEveEmcal::AddDigits(UShort_t fX, UShort_t fZ, Int_t module, Float_t energy) {
@@ -96,8 +111,8 @@ void AliHLTEveEmcal::AddDigits(UShort_t fX, UShort_t fZ, Int_t module, Float_t e
   if(fGeoUtils->RelPosCellInSModule(absid, posX, posY, posZ)) {
     
     cout << posX << "  " << posY << "  " << posZ << endl;
-    fBoxSet[module].AddBox(15, posY, posZ, energy*5, 6.1, 6.1);
-    fBoxSet[module].DigitValue(static_cast<Int_t>(energy));
+    fBoxSetDigits[module].AddBox(15, posY, posZ, energy*5, 6.1, 6.1);
+    fBoxSetDigits[module].DigitValue(static_cast<Int_t>(energy));
   } else  {
     cout <<"AliHLTEveEmcal::AddClusters:  fail"<<endl;
   }
index 1b3d6cd..940d102 100644 (file)
@@ -55,7 +55,8 @@ TEveElementList * AliHLTEvePhos::CreateElementList() {
   //See header file for documentation
 
   TEveElementList * elementList  = new TEveElementList("PHOS ");
-  fBoxSet = new TEveBoxSet[fNModules];
+  fBoxSetClusters = new TEveBoxSet[fNModules];
+  fBoxSetDigits = new TEveBoxSet[fNModules];
 
   AliPHOSGeometry * geo = AliPHOSGeometry::GetInstance("IHEP", "IHEP");
   
@@ -67,23 +68,47 @@ TEveElementList * AliHLTEvePhos::CreateElementList() {
     
     TEveRGBAPalette* pal = new TEveRGBAPalette(0,512);
     pal->SetLimits(-1, 6);
-    fBoxSet[im].SetTitle(Form("Clusters Module %d", im));
-    fBoxSet[im].SetName(Form("Clusters Module %d", im));
-    fBoxSet[im].SetPalette(pal);
-    fBoxSet[im].Reset(TEveBoxSet::kBT_AABox, kFALSE, 64);
-    fBoxSet[im].SetOwnIds(kTRUE);
+
+    //Create clusters box set
+    fBoxSetClusters[im].SetTitle(Form("Clusters Module %d", im));
+    fBoxSetClusters[im].SetName(Form("Clusters Module %d", im));
+    fBoxSetClusters[im].SetPalette(pal);
+    fBoxSetClusters[im].Reset(TEveBoxSet::kBT_AABox, kFALSE, 64);
+    fBoxSetClusters[im].SetOwnIds(kTRUE);
     
     
     geo->GetModuleCenter(center, "CPV", im+1);
     angle = geo->GetPHOSAngle(im+1)*TMath::Pi()/180;
     
-    fBoxSet[im].RefitPlex();
-    TEveTrans& t = fBoxSet[im].RefMainTrans();
+    fBoxSetClusters[im].RefitPlex();
+    TEveTrans& t = fBoxSetClusters[im].RefMainTrans();
     t.SetupRotation(1, 2, angle );
     t.SetPos(center.X(), center.Y(), center.Z());
     
-    elementList->AddElement(&fBoxSet[im]);
+    elementList->AddElement(&fBoxSetClusters[im]);
+
+
+    //Create digits box set
+    fBoxSetDigits[im].SetTitle(Form("Digits Module %d", im));
+    fBoxSetDigits[im].SetName(Form("Digits Module %d", im));
+    fBoxSetDigits[im].SetPalette(pal);
+    fBoxSetDigits[im].Reset(TEveBoxSet::kBT_AABox, kFALSE, 64);
+    fBoxSetDigits[im].SetOwnIds(kTRUE);
+    
+    
+    geo->GetModuleCenter(center, "CPV", im+1);
+    angle = geo->GetPHOSAngle(im+1)*TMath::Pi()/180;
+    
+    fBoxSetDigits[im].RefitPlex();
+    TEveTrans& t2 = fBoxSetDigits[im].RefMainTrans();
+    t2.SetupRotation(1, 2, angle );
+    t2.SetPos(center.X(), center.Y(), center.Z());
+    
+    elementList->AddElement(&fBoxSetDigits[im]);
+
+
   }
+
   return elementList;
 }
 
@@ -91,24 +116,20 @@ void AliHLTEvePhos::AddDigits(UShort_t fX, UShort_t fZ, Int_t module, Float_t en
   //See header file for documentation
   Float_t x = (fX - 32)* 2.2;
   Float_t z = (fZ - 28) * 2.2;
-  fBoxSet[4-module].AddBox(x, 0, z, 2.2, energy*20, 2.2);
-  fBoxSet[4-module].DigitValue(static_cast<Int_t>(energy));
+  fBoxSetDigits[4-module].AddBox(x, 0, z, 2.2, energy*20, 2.2);
+  fBoxSetDigits[4-module].DigitValue(static_cast<Int_t>(energy));
 }
 
 
 void AliHLTEvePhos::AddClusters(Float_t * pos, Int_t module, Float_t energy) {
 
-  
-
   TVector3 localVector;
   TVector3 globalVector(pos);
 
-
   fGeoUtils->Global2Local(localVector, globalVector, 5-module);
-  
 
  //See header file for documentation
-  fBoxSet[4-module].AddBox(localVector.X(), -70, localVector.Z(), 2.2, -energy*20, 2.2);
-  fBoxSet[4-module].DigitValue(static_cast<Int_t>(energy));
+  fBoxSetClusters[4-module].AddBox(localVector.X(), -70, localVector.Z(), 2.2, -energy*20, 2.2);
+  fBoxSetClusters[4-module].DigitValue(static_cast<Int_t>(energy));
 }