#include "AliMpExMapIterator.h"
#include "AliAlignObjMatrix.h"
+#include "AliMathBase.h"
#include "AliLog.h"
#include <TClonesArray.h>
fUseUni(kFALSE),
fUseGaus(kTRUE),
fXYAngMisAligFactor(0.0),
- fZCartMisAligFactor(0.0),
- fDisplacementGenerator(0)
+ fZCartMisAligFactor(0.0)
{
/// Standard constructor
for (Int_t i=0; i<6; i++){
fDetElemMisAlig[5][0] = angMisAligM;
fDetElemMisAlig[5][1] = angMisAligW;
- fDisplacementGenerator = new TRandom(0);
}
//______________________________________________________________________________
fUseUni(kFALSE),
fUseGaus(kTRUE),
fXYAngMisAligFactor(0.0),
- fZCartMisAligFactor(0.0),
- fDisplacementGenerator(0)
+ fZCartMisAligFactor(0.0)
{
/// Standard constructor
for (Int_t i=0; i<6; i++){
fDetElemMisAlig[5][0] = angMisAligM;
fDetElemMisAlig[5][1] = angMisAligW;
- fDisplacementGenerator = new TRandom(0);
}
//______________________________________________________________________________
fUseUni(kTRUE),
fUseGaus(kFALSE),
fXYAngMisAligFactor(0.0),
- fZCartMisAligFactor(0.0),
- fDisplacementGenerator(0)
+ fZCartMisAligFactor(0.0)
{
/// Standard constructor
for (Int_t i=0; i<6; i++){
fDetElemMisAlig[1][1] = cartMisAlig;
fDetElemMisAlig[5][1] = angMisAlig;
- fDisplacementGenerator = new TRandom(0);
}
//_____________________________________________________________________________
fUseUni(kTRUE),
fUseGaus(kFALSE),
fXYAngMisAligFactor(0.0),
- fZCartMisAligFactor(0.0),
- fDisplacementGenerator(0)
+ fZCartMisAligFactor(0.0)
{
/// Default constructor
for (Int_t i=0; i<6; i++){
{
/// Destructor
- if (fDisplacementGenerator) delete fDisplacementGenerator;
}
//_________________________________________________________________________
fDetElemMisAlig[4][1] = fDetElemMisAlig[5][1]*factor; // compatibility
}
else
- AliError(Form("Invalid XY angular misalign factor, %d", factor));
+ AliError(Form("Invalid XY angular misalign factor, %f", factor));
}
//_________________________________________________________________________
fDetElemMisAlig[2][1] = fDetElemMisAlig[0][1]*factor; // keep backward compatibility
}
else
- AliError(Form("Invalid Z cartesian misalign factor, %d", factor));
+ AliError(Form("Invalid Z cartesian misalign factor, %f", factor));
}
//_________________________________________________________________________
detection elements are on a support structure), while rotation of the x-y
plane is more free.
*/
- cartMisAlig[0] = fDisplacementGenerator->Uniform(-lParMisAlig[0][1]+lParMisAlig[0][0], lParMisAlig[0][0]+lParMisAlig[0][1]);
- cartMisAlig[1] = fDisplacementGenerator->Uniform(-lParMisAlig[1][1]+lParMisAlig[1][0], lParMisAlig[1][0]+lParMisAlig[1][1]);
- cartMisAlig[2] = fDisplacementGenerator->Uniform(-lParMisAlig[2][1]+lParMisAlig[2][0], lParMisAlig[2][0]+lParMisAlig[2][1]);
+ cartMisAlig[0] = gRandom->Uniform(-lParMisAlig[0][1]+lParMisAlig[0][0], lParMisAlig[0][0]+lParMisAlig[0][1]);
+ cartMisAlig[1] = gRandom->Uniform(-lParMisAlig[1][1]+lParMisAlig[1][0], lParMisAlig[1][0]+lParMisAlig[1][1]);
+ cartMisAlig[2] = gRandom->Uniform(-lParMisAlig[2][1]+lParMisAlig[2][0], lParMisAlig[2][0]+lParMisAlig[2][1]);
- angMisAlig[0] = fDisplacementGenerator->Uniform(-lParMisAlig[3][1]+lParMisAlig[3][0], lParMisAlig[3][0]+lParMisAlig[3][1]);
- angMisAlig[1] = fDisplacementGenerator->Uniform(-lParMisAlig[4][1]+lParMisAlig[4][0], lParMisAlig[4][0]+lParMisAlig[4][1]);
- angMisAlig[2] = fDisplacementGenerator->Uniform(-lParMisAlig[5][1]+lParMisAlig[5][0], lParMisAlig[5][0]+lParMisAlig[5][1]); // degrees
+ angMisAlig[0] = gRandom->Uniform(-lParMisAlig[3][1]+lParMisAlig[3][0], lParMisAlig[3][0]+lParMisAlig[3][1]);
+ angMisAlig[1] = gRandom->Uniform(-lParMisAlig[4][1]+lParMisAlig[4][0], lParMisAlig[4][0]+lParMisAlig[4][1]);
+ angMisAlig[2] = gRandom->Uniform(-lParMisAlig[5][1]+lParMisAlig[5][0], lParMisAlig[5][0]+lParMisAlig[5][1]); // degrees
}
//_________________________________________________________________________
detection elements are on a support structure), while rotation of the x-y
plane is more free.
*/
- cartMisAlig[0] = fDisplacementGenerator->Gaus(lParMisAlig[0][0], lParMisAlig[0][1]);
- cartMisAlig[1] = fDisplacementGenerator->Gaus(lParMisAlig[1][0], lParMisAlig[1][1]);
- cartMisAlig[2] = fDisplacementGenerator->Gaus(lParMisAlig[2][0], lParMisAlig[2][1]);
+ cartMisAlig[0] = AliMathBase::TruncatedGaus(lParMisAlig[0][0], lParMisAlig[0][1], 3.*lParMisAlig[0][1]);
+ cartMisAlig[1] = AliMathBase::TruncatedGaus(lParMisAlig[1][0], lParMisAlig[1][1], 3.*lParMisAlig[1][1]);
+ cartMisAlig[2] = AliMathBase::TruncatedGaus(lParMisAlig[2][0], lParMisAlig[2][1], 3.*lParMisAlig[2][1]);
- angMisAlig[0] = fDisplacementGenerator->Gaus(lParMisAlig[3][0], lParMisAlig[3][1]);
- angMisAlig[1] = fDisplacementGenerator->Gaus(lParMisAlig[4][0], lParMisAlig[4][1]);
- angMisAlig[2] = fDisplacementGenerator->Gaus(lParMisAlig[5][0], lParMisAlig[5][1]); // degrees
+ angMisAlig[0] = AliMathBase::TruncatedGaus(lParMisAlig[3][0], lParMisAlig[3][1], 3.*lParMisAlig[3][1]);
+ angMisAlig[1] = AliMathBase::TruncatedGaus(lParMisAlig[4][0], lParMisAlig[4][1], 3.*lParMisAlig[4][1]);
+ angMisAlig[2] = AliMathBase::TruncatedGaus(lParMisAlig[5][0], lParMisAlig[5][1], 3.*lParMisAlig[5][1]); // degrees
}
//_________________________________________________________________________