X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSTrackleterSPDEff.cxx;h=0bfccd0cbf006a2258d0fba88bef3ca4b6df78cc;hb=84356182bfc1de943f52e857cbd9db74347c12d2;hp=8bd2f9451e3bd0658fea24dca2e0080f3b40c701;hpb=84290fcc7685f8042edd047c160800a572601361;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSTrackleterSPDEff.cxx b/ITS/AliITSTrackleterSPDEff.cxx index 8bd2f9451e3..0bfccd0cbf0 100644 --- a/ITS/AliITSTrackleterSPDEff.cxx +++ b/ITS/AliITSTrackleterSPDEff.cxx @@ -50,6 +50,10 @@ #include "AliESDEvent.h" #include "AliESDVertex.h" //____________________________________________________________________ + +using std::ofstream; +using std::ios; +using std::ifstream; ClassImp(AliITSTrackleterSPDEff) @@ -136,6 +140,10 @@ fhClustersInModuleLay2(0) { // default constructor // from AliITSMultReconstructor + Init(); +} +//______________________________________________________________________ +void AliITSTrackleterSPDEff::Init() { SetPhiWindowL2(); SetZetaWindowL2(); SetOnlyOneTrackletPerC2(); @@ -408,7 +416,7 @@ AliITSTrackleterSPDEff::Reconstruct(AliStack *pStack, TTree *tRef, Bool_t lbkg) found=FindChip(key, 0, vtx, fClustersLay2[iC2][0],fClustersLay2[iC2][1]); if (!found) { - AliWarning(Form("Reconstruct: cannot find chip prediction on inner layer for cluster %d on the outer layer",iC2)); + AliDebug(1,Form("Reconstruct: cannot find chip prediction on inner layer for cluster %d on the outer layer",iC2)); key=999999; } nfTraPred1+=(Int_t)found; // this for debugging purpose @@ -452,7 +460,7 @@ AliITSTrackleterSPDEff::Reconstruct(AliStack *pStack, TTree *tRef, Bool_t lbkg) Int_t lab3=(Int_t)fClustersLay1[iC1][5]; // do it always as a function of the chip number used to built the prediction found=FindChip(key,0,vtx,fClustersLay1[iC1][0],fClustersLay1[iC1][1],fClustersLay1[iC1][2]); - if (!found) {AliWarning( + if (!found) {AliDebug(1, Form("Reconstruct MC: cannot find chip on inner layer for cluster %d",iC1)); } else { if((lab1 != -2 && PrimaryTrackChecker(lab1,pStack) ) || @@ -581,7 +589,7 @@ AliITSTrackleterSPDEff::Reconstruct(AliStack *pStack, TTree *tRef, Bool_t lbkg) // Check that this cluster is still in the same chip (here you pass also Zvtx for better computation) found=FindChip(key,1,vtx,fClustersLay2[iC2WithBestDist][0],fClustersLay2[iC2WithBestDist][1],fClustersLay2[iC2WithBestDist][2]); if(!found){ - AliWarning( + AliDebug(1, Form("Reconstruct: cannot find chip on outer layer for cluster %d",iC2WithBestDist)); key=999999; } @@ -660,7 +668,7 @@ AliITSTrackleterSPDEff::Reconstruct(AliStack *pStack, TTree *tRef, Bool_t lbkg) Int_t lab3=(Int_t)fClustersLay2[iC2][5]; // do it always as a function of the chip number used to built the prediction found=FindChip(key,1,vtx,fClustersLay2[iC2][0],fClustersLay2[iC2][1],fClustersLay2[iC2][2]); - if (!found) {AliWarning( + if (!found) {AliDebug(1, Form("Reconstruct MC: cannot find chip on outer layer for cluster %d",iC2)); } else { if((lab1 != -2 && PrimaryTrackChecker(lab1,pStack) ) || @@ -782,7 +790,7 @@ AliITSTrackleterSPDEff::Reconstruct(AliStack *pStack, TTree *tRef, Bool_t lbkg) // Check that this cluster is still in the same chip (here you pass also Zvtx for better computation) found=FindChip(key,0,vtx,fClustersLay1[iC1WithBestDist][0],fClustersLay1[iC1WithBestDist][1],fClustersLay1[iC1WithBestDist][2]); if(!found){ - AliWarning( + AliDebug(1, Form("Reconstruct: cannot find chip on inner layer for cluster %d",iC1WithBestDist)); key=999999; } @@ -839,7 +847,7 @@ AliITSTrackleterSPDEff::Reconstruct(AliStack *pStack, TTree *tRef, Bool_t lbkg) AliDebug(1,Form(("Eff. of method FindChip for Cluster on lay 2 = %d / %d"),nfClu2,ntClu2)); } //____________________________________________________________________ -Bool_t AliITSTrackleterSPDEff::FindChip(UInt_t &key, Int_t layer, Float_t* vtx, +Bool_t AliITSTrackleterSPDEff::FindChip(UInt_t &key, Int_t layer,const Float_t* vtx, Float_t thetaVtx, Float_t phiVtx, Float_t zVtx) { // // Input: a) layer number in the range [0,1] @@ -1012,7 +1020,7 @@ phi=TMath::ATan2(pP[1],pP[0]); return kTRUE; } //___________________________________________________________ -Bool_t AliITSTrackleterSPDEff::SetAngleRange02Pi(Double_t &angle) { +Bool_t AliITSTrackleterSPDEff::SetAngleRange02Pi(Double_t &angle) const { // // simple method to reduce all angles (in rad) // in range [0,2pi[ @@ -1852,7 +1860,7 @@ void AliITSTrackleterSPDEff::DeleteHistos() { } //_______________________________________________________________ Bool_t AliITSTrackleterSPDEff::IsReconstructableAt(Int_t layer,Int_t iC,Int_t ipart, - Float_t* vtx, AliStack *stack, TTree *ref) { + const Float_t* vtx, const AliStack *stack, TTree *ref) { // This (private) method can be used only for MC events, where both AliStack and the TrackReference // are available. // It is used to asses whether a tracklet prediction is reconstructable or not at the other layer @@ -2131,4 +2139,16 @@ AliITSTrackleterSPDEff::SetLightBkgStudyInParallel(Bool_t b) { fPlaneEffBkg=0; } } - +//______________________________________________________________ +void AliITSTrackleterSPDEff::SetReflectClusterAroundZAxisForLayer(Int_t ilayer,Bool_t b){ +// +// method to study residual background: +// Input b= KTRUE --> reflect the clusters +// ilayer (either 0 or 1) --> which SPD layers should be reflected +// + if(b) {AliInfo(Form("All clusters on layer %d will be rotated by 180 deg around z",ilayer)); + SetLightBkgStudyInParallel(kFALSE);} + if(ilayer==0) fReflectClusterAroundZAxisForLayer0=b; // a rotation by 180degree around the Z axis + else if(ilayer==1) fReflectClusterAroundZAxisForLayer1=b; // (x->-x; y->-y) to all RecPoints on a + else AliInfo("Nothing done: input argument (ilayer) either 0 or 1"); // given layer is applied. In such a way + }