#include <Riostream.h>
#include <stdlib.h>
+#include <TF2.h>
#include <TFile.h>
-#include <TGeometry.h>
+#include <TGeoGlobalMagField.h>
#include <TInterpreter.h>
#include <TMath.h>
#include <TMatrixF.h>
-#include <TVector.h>
-#include <TNode.h>
#include <TObjectTable.h>
#include <TParticle.h>
#include <TROOT.h>
#include <TRandom.h>
+#include <TStopwatch.h>
+#include <TString.h>
#include <TSystem.h>
-#include <TTUBS.h>
#include <TTree.h>
+#include <TVector.h>
#include <TVirtualMC.h>
-#include <TString.h>
-#include <TF2.h>
-#include <TStopwatch.h>
#include "AliDigits.h"
#include "AliMagF.h"
#include "AliTPCPRF2D.h"
#include "AliTPCParamSR.h"
#include "AliTPCRF1D.h"
-//#include "AliTPCTrackHits.h"
#include "AliTPCTrackHitsV2.h"
#include "AliTrackReference.h"
#include "AliMC.h"
// 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
Stat_t ntracks = tH->GetEntries();
- if( ntracks > 0){
- //-------------------------------------------
- // Only if there are any tracks...
- //-------------------------------------------
TObjArray **row;
delete [] row; // delete the array of pointers to TObjArray-s
- } // ntracks >0
} // end of Hits2DigitsSector
//-----------------------------------------------------------------
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;
for(Int_t ip=0;ip<nofPads;ip++){
gi++;
Float_t q=total(ip,it);
- if(fDigitsSwitch == 0){
- q+=GetNoise();
+ if(fDigitsSwitch == 0){
+ Float_t gain = gainROC->GetValue(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
} // 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
//
//-----------------------------------------------------------------
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());
}
//________________________________________________________________________
// 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
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);
// track is returned
//
if(track>=0) {
- gAlice->ResetHits();
+ gAlice->GetMCApp()->ResetHits();
fLoader->TreeH()->GetEvent(track);
}
//