18 #include "FairRootManager.h"
19 #include "FairRunAna.h"
20 #include "FairRuntimeDb.h"
21 #include "FairTrackParP.h"
24 #include "TGeoManager.h"
25 #include "TClonesArray.h"
26 #include "TGeoVolume.h"
132 FairRootManager* ioman = FairRootManager::Instance();
134 cout <<
"-E- PndMixBackgroundEvents::Init: "
135 <<
"RootManager not instantiated, return!" << endl;
152 fSttHitArray = (TClonesArray*) ioman->GetObject(
"STTHit");
154 cout <<
"-W- PndMixBackgroundEvents::Init: "
155 <<
"No STTHit array, return!" << endl;
163 std::cout <<
"-W- PndMixBackgroundEvents::Init: " <<
"No MVD Pixel hitArray, return!" << std::endl;
170 std::cout <<
"-W- PndMixBackgroundEvents::Init: " <<
"No MVD Strip hitArray, return!" << std::endl;
184 cout <<
"-W- PndMixBackgroundEvents::Init: "
185 <<
"No STT Background Hit array, return!" << endl;
192 std::cout <<
"-W- PndMixBackgroundEvents::Init: " <<
"No MVD Pixel Background hitArray, return!"
201 std::cout <<
"-W- PndMixBackgroundEvents::Init: " <<
"No MVD Strip Background hitArray, return!"
208 cout<<
"from PndMixBackgroundEvents : total evts in digi file != total evets in reco file, return!"
238 FairRuntimeDb*
rtdb = FairRunAna::Instance()->GetRuntimeDb();
266 UShort_t nBkgEventsToAdd;
316 for( iStt= 0; iStt<
fSttHitArray->GetEntriesFast(); iStt++){
320 temp->SetDetectorID(FairRootManager::Instance()->GetBranchId(
"STTHitMix"));
333 pMvdPixelHit->PositionError(dpos);
334 new ((*fMvdPixelHitandBckgrndArray)[iPix])
336 FairRootManager::Instance()->GetBranchId(
"MVDHitsPixelMix"),
344 pMvdPixelHit->GetRefIndex()
354 pMvdStripHit->PositionError(dpos);
355 new ((*fMvdStripHitandBckgrndArray)[iStrip])
357 FairRootManager::Instance()->GetBranchId(
"MVDHitsStripMix"),
365 pMvdStripHit->GetRefIndex()
386 for(j=0;j<nBkgEventsToAdd;j++){
399 pSttHit->SetRefIndex(-10);
403 temp->SetDetectorID(FairRootManager::Instance()->GetBranchId(
"STTHitMix"));
413 pMvdPixelHit->SetRefIndex(-10);
416 pMvdPixelHit->PositionError(dpos);
417 new ((*fMvdPixelHitandBckgrndArray)[k2+iaddPix])
419 FairRootManager::Instance()->GetBranchId(
428 pMvdPixelHit->GetRefIndex()
435 pMvdStripHit->SetRefIndex(-10);
438 pMvdStripHit->PositionError(dpos);
439 new ((*fMvdStripHitandBckgrndArray)[k3+iaddStrip])
441 FairRootManager::Instance()->GetBranchId(
450 pMvdStripHit->GetRefIndex()
477 UShort_t *nBkgEventsToAdd,
489 times[(*nBkgEventsToAdd)] = -Trange;
491 (*nBkgEventsToAdd)++;
498 times[(*nBkgEventsToAdd)] = Trange;
500 (*nBkgEventsToAdd)++;
518 if( *modified >
STRAWRADIUS || *modified < 0.)
return false;
~PndMixBackgroundEvents()
TClonesArray * fMvdStripHitArray
Int_t GetNDigiHits() const
TClonesArray * fSttHitandBckgrndArray
TVector3 GetPosition() const
char fMvdBkgFilename[1000]
TClonesArray * fMvdPixelHitBkgArray
TClonesArray * fMvdStripHitandBckgrndArray
char fSttBkgFilename[1000]
static const UShort_t NMAXBCKGRND
void SetIsochrone(Double_t isochrone)
TClonesArray * fSttHitBkgArray
virtual InitStatus Init()
Double_t GetCharge() const
static const Double_t MAXSTTdriftTIME
virtual void Exec(Option_t *opt)
Double_t fInteractionRate
TClonesArray * fMCTrackArray
Double_t GetIsochrone() const
TClonesArray * FillTubeArray()
TClonesArray * fSttTubeArray
static const Double_t STRAWRADIUS
void BackgroundNandT(UShort_t *nBkgEventsToAdd, Double_t *times)
friend F32vec4 fabs(const F32vec4 &a)
TClonesArray * fMvdPixelHitandBckgrndArray
static const Double_t MVDTYPICALTIME
bool ModifyIsochrone(Double_t isochrone, Double_t time, Double_t *modified)
TClonesArray * fSttHitArray
TClonesArray * fMvdStripHitBkgArray
Int_t GetClusterIndex() const
TClonesArray * fMvdPixelHitArray
Int_t GetSensorID() const
static const Double_t STTdriftVEL
PndGeoSttPar * fSttParameters
void Initialization_ClassVariables()