#include <TH2.h>
#include <TMinuit.h>
#include <TMatrixD.h>
+#include <TRandom.h>
+#include <TROOT.h>
#include "AliMUONClusterFinderAZ.h"
#include "AliMUONClusterDrawAZ.h"
#include "AliMUONVGeometryDESegmentation.h"
#include "AliMUONGeometryModuleTransformer.h"
-#include "AliRun.h"
-#include "AliMUON.h"
+#include "AliMUONGeometrySegmentation.h"
#include "AliMUONDigit.h"
#include "AliMUONRawCluster.h"
#include "AliMUONClusterInput.h"
//_____________________________________________________________________________
AliMUONClusterFinderAZ::AliMUONClusterFinderAZ(Bool_t draw)
- : AliMUONClusterFinderVS()
+ : AliMUONClusterFinderVS(),
+ fZpad(0),
+ fNpar(0),
+ fQtot(0),
+ fReco(1),
+ fCathBeg(0),
+ fDraw(0x0),
+ fPixArray(0x0),
+ fnCoupled(0),
+ fDebug(0)
{
/// Constructor
fnPads[0]=fnPads[1]=0;
fSegmentation[1] = fSegmentation[0] = 0x0;
- fZpad = 0;
- fQtot = 0;
- fPadBeg[0] = fPadBeg[1] = fCathBeg = fNpar = fnCoupled = 0;
+ fPadBeg[0] = fPadBeg[1] = 0;
if (!fgMinuit) fgMinuit = new TMinuit(8);
if (!fgClusterFinder) fgClusterFinder = this;
fPixArray = new TObjArray(20);
- fDebug = 0; //0;
- fReco = 1;
- fDraw = 0x0;
if (draw) {
fDebug = 1;
fReco = 0;
cout << " *** Running AZ cluster finder *** " << endl;
}
-//_____________________________________________________________________________
-AliMUONClusterFinderAZ::AliMUONClusterFinderAZ(const AliMUONClusterFinderAZ& rhs)
- : AliMUONClusterFinderVS(rhs)
-{
-/// Protected copy constructor
-
- AliFatal("Not implemented.");
-}
-
//_____________________________________________________________________________
AliMUONClusterFinderAZ::~AliMUONClusterFinderAZ()
{
/// To provide the same interface as in AliMUONClusterFinderVS
ResetRawClusters();
- EventLoop (gAlice->GetEvNumber(), fInput->Chamber());
+ EventLoop (fEvtNumber, fInput->Chamber());
}
//_____________________________________________________________________________
AliMUONDigit *mdig = fInput->Digit(cath,digit);
- Int_t charge = mdig->Signal();
+ Float_t charge = mdig->Signal();
// get the center of the pad
Float_t xpad, ypad, zpad0;
//if (!fSegmentation[cath]->GetPadC(fInput->DetElemId(),mdig->PadX(),mdig->PadY(),xpad,ypad,zpad0)) { // Handle "non-existing" pads
fPadIJ[2][nPads] = mdig->PadX();
fPadIJ[3][nPads] = mdig->PadY();
fUsed[cath][digit] = kTRUE;
- if (fDebug) printf(" bbb %d %d %f %f %f %f %f %4d %3d %3d \n", nPads, cath, xpad, ypad, zpad0, fXyq[3][nPads]*2, fXyq[4][nPads]*2, charge, mdig->PadX(), mdig->PadY());
+ if (fDebug) printf(" bbb %d %d %f %f %f %f %f %f %3d %3d \n", nPads, cath,
+ xpad, ypad, zpad0, fXyq[3][nPads]*2, fXyq[4][nPads]*2,
+ charge, mdig->PadX(), mdig->PadY());
fnPads[cath]++;
// Check neighbours
if (fPadIJ[1][j] == -9) nover[cath]++;
if (fPadIJ[1][j] != 1 && fPadIJ[1][j] != -9) continue;
cnew.SetMultiplicity(cath,cnew.GetMultiplicity(cath)+1);
- if (fXyq[2][j] > cnew.GetPeakSignal(cath)) cnew.SetPeakSignal(cath,TMath::Nint (fXyq[2][j]));
+ if (fXyq[2][j] > cnew.GetPeakSignal(cath)) cnew.SetPeakSignal(cath,fXyq[2][j]);
//cnew.SetCharge(cath,cnew.GetCharge(cath) + TMath::Nint (fXyq[2][j]));
cnew.SetContrib(npads[cath],cath,fXyq[2][j]);
cnew.SetIndex(npads[cath],cath,TMath::Nint (fXyq[5][j]));
delete [] used; used = 0;
}
-//_____________________________________________________________________________
-AliMUONClusterFinderAZ&
-AliMUONClusterFinderAZ::operator=(const AliMUONClusterFinderAZ& rhs)
-{
-/// Protected assignement operator
-
- if (this == &rhs) return *this;
-
- AliFatal("Not implemented.");
-
- return *this;
-}
-
//_____________________________________________________________________________
void AliMUONClusterFinderAZ::AddVirtualPad()
{