X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPC.cxx;h=1820b73555fe7f6b99796f4781d6da56491d8adc;hb=8f4188a7c02eb02e669af8d546ab1efbe895fd6f;hp=683909d727d26231dfdb5ab291e455a27d810032;hpb=cb5b8b2158a47bf92300c2f7258b3a431d70d78c;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPC.cxx b/TPC/AliTPC.cxx index 683909d727d..1820b73555f 100644 --- a/TPC/AliTPC.cxx +++ b/TPC/AliTPC.cxx @@ -36,24 +36,22 @@ #include #include +#include #include -#include +#include #include #include #include -#include -#include #include #include #include #include +#include +#include #include -#include #include +#include #include -#include -#include -#include #include "AliDigits.h" #include "AliMagF.h" @@ -67,7 +65,6 @@ #include "AliTPCPRF2D.h" #include "AliTPCParamSR.h" #include "AliTPCRF1D.h" -//#include "AliTPCTrackHits.h" #include "AliTPCTrackHitsV2.h" #include "AliTrackReference.h" #include "AliMC.h" @@ -233,8 +230,8 @@ void AliTPC::CreateMaterials() // Origin: Marek Kowalski IFJ, Krakow, Marek.Kowalski@ifj.edu.pl //----------------------------------------------------------------- - Int_t iSXFLD=gAlice->Field()->Integ(); - Float_t sXMGMX=gAlice->Field()->Max(); + Int_t iSXFLD=((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Integ(); + Float_t sXMGMX=((AliMagF*)TGeoGlobalMagField::Instance()->GetField())->Max(); Float_t amat[5]; // atomic numbers Float_t zmat[5]; // z @@ -1415,11 +1412,7 @@ void AliTPC::Hits2DigitsSector(Int_t isec) Stat_t ntracks = tH->GetEntries(); - if( ntracks > 0){ - //------------------------------------------- - // Only if there are any tracks... - //------------------------------------------- TObjArray **row; @@ -1468,7 +1461,6 @@ void AliTPC::Hits2DigitsSector(Int_t isec) delete [] row; // delete the array of pointers to TObjArray-s - } // ntracks >0 } // end of Hits2DigitsSector @@ -1487,6 +1479,11 @@ void AliTPC::DigitizeRow(Int_t irow,Int_t isec,TObjArray **rows) //----------------------------------------------------------------- Float_t zerosup = fTPCParam->GetZeroSup(); + AliTPCCalPad * gainTPC = AliTPCcalibDB::Instance()->GetDedxGainFactor(); + AliTPCCalPad * noiseTPC = AliTPCcalibDB::Instance()->GetPadNoise(); + AliTPCCalROC * gainROC = gainTPC->GetCalROC(isec); // pad gains per given sector + AliTPCCalROC * noiseROC = noiseTPC->GetCalROC(isec); // noise per given sector + fCurrentIndex[1]= isec; @@ -1540,8 +1537,12 @@ void AliTPC::DigitizeRow(Int_t irow,Int_t isec,TObjArray **rows) for(Int_t ip=0;ipGetValue(irow,ip); // get gain for given - pad-row pad + Float_t noisePad = noiseROC->GetValue(irow,ip); + // + q*=gain; + q+=GetNoise()*noisePad; if(q <=fzerosup) continue; // do not fill zeros q = TMath::Nint(q); if(q >= fTPCParam->GetADCSat()) q = fTPCParam->GetADCSat() - 1; // saturation @@ -1578,7 +1579,14 @@ void AliTPC::DigitizeRow(Int_t irow,Int_t isec,TObjArray **rows) } // end of loop over time buckets } // end of lop over pads + // + // test + // + // + // glitch filters if normal simulated digits + // + if(!fDigitsSwitch) ((AliSimDigits*)dig)->GlitchFilter(); // // This row has been digitized, delete nonused stuff // @@ -1793,7 +1801,7 @@ void AliTPC::MakeSector(Int_t isec,Int_t nrows,TTree *TH, //----------------------------------------------------------------- AliTPCcalibDB* const calib=AliTPCcalibDB::Instance(); if (gAlice){ // Set correctly the magnetic field in the ExB calculation - AliMagF * field = gAlice->Field(); + AliMagF * field = ((AliMagF*)TGeoGlobalMagField::Instance()->GetField()); if (field) { calib->SetExBField(field->SolenoidField()); } @@ -2169,7 +2177,7 @@ AliTPChit::AliTPChit(Int_t shunt, Int_t track, Int_t *vol, Float_t *hits) //________________________________________________________________________ // Additional code because of the AliTPCTrackHitsV2 -void AliTPC::MakeBranch2(Option_t *option,const char */*file*/) +void AliTPC::MakeBranch(Option_t *option) { // // Create a new branch in the current Root Tree @@ -2250,7 +2258,8 @@ void AliTPC::FinishPrimary() void AliTPC::AddHit2(Int_t track, Int_t *vol, Float_t *hits) { // - // add hit to the list + // add hit to the list + Int_t rtrack; if (fIshunt) { int primary = gAlice->GetMCApp()->GetPrimary(track); @@ -2309,7 +2318,7 @@ AliHit* AliTPC::FirstHit2(Int_t track) // track is returned // if(track>=0) { - gAlice->ResetHits(); + gAlice->GetMCApp()->ResetHits(); fLoader->TreeH()->GetEvent(track); } //