* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-
-
-
-
-*/
-
-
+/* $Id:$ */
#include "AliExternalComparison.h"
#include "AliExternalTrackParam.h"
//
}
+AliExternalComparison::AliExternalComparison(const AliExternalComparison& comp)
+ :TNamed(comp),
+ fResolHistos(new TObjArray(*(comp.fResolHistos))),
+ fPullHistos(new TObjArray(*(comp.fPullHistos))),
+ fRangeMatrix(new TMatrixD(*(comp.fRangeMatrix))),
+ fCutMatrix(new TMatrixD(*(comp.fCutMatrix)))
+{
+ //
+ // copy constructor
+ //
+}
+
+AliExternalComparison& AliExternalComparison::operator=(const AliExternalComparison& comp)
+{
+ //
+ //
+ //
+ if(this != &comp) {
+ TNamed::operator=(comp);
+ fResolHistos=new TObjArray(*(comp.fResolHistos));
+ fPullHistos=new TObjArray(*(comp.fPullHistos));
+ fRangeMatrix=new TMatrixD(*(comp.fRangeMatrix));
+ fCutMatrix=new TMatrixD(*(comp.fCutMatrix));
+ }
+ return *this;
+}
AliExternalComparison::~AliExternalComparison(){
delete fResolHistos; // resolution histogram
delete fPullHistos; // pull histogram
delete fRangeMatrix; // range matrix
+ delete fCutMatrix; // range matrix
}
}
-Long64_t AliExternalComparison::Merge(TCollection *li) {
+Long64_t AliExternalComparison::Merge(TCollection *const li) {
//
//
//
return 0;
}
-void AliExternalComparison:: Add(AliExternalComparison*comp){
+void AliExternalComparison::Add(AliExternalComparison *const comp){
//
// Add comparison object
//
// Process- fill histogram with residuals
// Tracks has to be in the same local X
//
- const Double_t kDeltaX=0.2;
- const Double_t kDeltaA=0.01;
if (!AcceptPair(param0,param1)) return;
//
if (!fResolHistos) MakeHistos();
//
- //if (TMath::Abs(param0->GetX()-param1->GetX())>kDeltaX) return;
- //if (TMath::Abs(param0->GetAlpha()-param1->GetAlpha())>kDeltaA) return;
//
const Double_t *p0 = param0->GetParameter();
const Double_t *p1 = param1->GetParameter();
mat(4,0)=-3; mat(4,1)=3; mat(4,2)=50; // sqrt(P4) -sqrt(1/pt) range
//
mat(5,0)= 0; mat(5,1)=250; mat(5,2)=50; // R range
- mat(6,0)= TMath::Pi(); mat(6,1)=TMath::Pi(); mat(6,2)=18*4; // fi range
+ mat(6,0)= -TMath::Pi(); mat(6,1)=TMath::Pi(); mat(6,2)=18*4; // fi range
//
// Resolution
//
//
}
+void AliExternalComparison::SetParameterRange(Int_t param, Float_t min, Float_t max, Int_t nbins){
+ //
+ //
+ //
+ if (!fRangeMatrix) SetDefaultRange();
+ TMatrixD & mat = *fRangeMatrix;
+ if (param<0) return;
+ if (param>6) return;
+ mat(param,0)=min; mat(param,1)=max; mat(param,2)=nbins;
+}
+
void AliExternalComparison::SetResolRange(Int_t param, Float_t min, Float_t max, Int_t nbins){
//
//