From: gconesab Date: Wed, 12 May 2010 13:16:44 +0000 (+0000) Subject: Skip Calibration events by default. If not skip do not clusterize, just fill the... X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=e853f058fae081c14c9dd35dea69f5af7848b2f5;p=u%2Fmrichter%2FAliRoot.git Skip Calibration events by default. If not skip do not clusterize, just fill the ESDCaloCells Change print in RawUtils to debug mode --- diff --git a/EMCAL/AliEMCALRawUtils.cxx b/EMCAL/AliEMCALRawUtils.cxx index ada2819f979..149e7c1695e 100644 --- a/EMCAL/AliEMCALRawUtils.cxx +++ b/EMCAL/AliEMCALRawUtils.cxx @@ -108,7 +108,7 @@ AliEMCALRawUtils::AliEMCALRawUtils(fitAlgorithm fitAlgo) if (rl && rl->GetAliRun() && rl->GetAliRun()->GetDetector("EMCAL")) { fGeom = dynamic_cast(rl->GetAliRun()->GetDetector("EMCAL"))->GetGeometry(); } else { - AliInfo(Form("Using default geometry in raw reco")); + AliDebug(1, Form("Using default geometry in raw reco")); fGeom = AliEMCALGeometry::GetInstance(AliEMCALGeometry::GetDefaultGeometryName()); } diff --git a/EMCAL/AliEMCALRecParam.cxx b/EMCAL/AliEMCALRecParam.cxx index 126cc975726..ce632feea40 100644 --- a/EMCAL/AliEMCALRecParam.cxx +++ b/EMCAL/AliEMCALRecParam.cxx @@ -62,7 +62,8 @@ AliEMCALRecParam::AliEMCALRecParam() : fNPedSamples(5), fRemoveBadChannels(kFALSE), fFittingAlgorithm(0), - fUseFALTRO(kTRUE)//raw signal + fUseFALTRO(kTRUE), + fFitLEDEvents(kFALSE)//raw signal { // default reco values @@ -254,7 +255,8 @@ AliEMCALRecParam::AliEMCALRecParam(const AliEMCALRecParam& rp) : fNPedSamples(rp.fNPedSamples), fRemoveBadChannels(rp.fRemoveBadChannels), fFittingAlgorithm(rp.fFittingAlgorithm), - fUseFALTRO(fUseFALTRO) //raw signal + fUseFALTRO(rp.fUseFALTRO), + fFitLEDEvents(rp.fFitLEDEvents) //raw signal { //copy constructor @@ -306,7 +308,8 @@ AliEMCALRecParam& AliEMCALRecParam::operator = (const AliEMCALRecParam& rp) fNPedSamples = rp.fNPedSamples; fRemoveBadChannels = rp.fRemoveBadChannels; fFittingAlgorithm = rp.fFittingAlgorithm; - fUseFALTRO = rp.fUseFALTRO;//raw signal + fUseFALTRO = rp.fUseFALTRO; + fFitLEDEvents = rp.fFitLEDEvents;//raw signal //PID values Int_t i, j; diff --git a/EMCAL/AliEMCALRecParam.h b/EMCAL/AliEMCALRecParam.h index 9753dd46993..48af0574785 100644 --- a/EMCAL/AliEMCALRecParam.h +++ b/EMCAL/AliEMCALRecParam.h @@ -99,6 +99,8 @@ class AliEMCALRecParam : public AliDetectorRecoParam void SetRemoveBadChannels(Bool_t val) {fRemoveBadChannels=val; } void SetFittingAlgorithm(Int_t val) {fFittingAlgorithm=val; } void SetFALTROUsage(Bool_t val) {fUseFALTRO=val; } + void SetLEDFit(Bool_t val) {fFitLEDEvents=val; } + /* raw signal getters */ Double_t GetHighLowGainFactor() const {return fHighLowGainFactor;} @@ -109,7 +111,8 @@ class AliEMCALRecParam : public AliDetectorRecoParam Bool_t GetRemoveBadChannels() const {return fRemoveBadChannels;} Int_t GetFittingAlgorithm() const {return fFittingAlgorithm; } Bool_t UseFALTRO() const {return fUseFALTRO; } - + Bool_t FitLEDEvents() const {return fFitLEDEvents; } + virtual void Print(Option_t * option="") const ; static AliEMCALRecParam* GetDefaultParameters(); @@ -162,10 +165,11 @@ class AliEMCALRecParam : public AliDetectorRecoParam Bool_t fRemoveBadChannels; // select if bad channels are removed before fitting Int_t fFittingAlgorithm; // select the fitting algorithm Bool_t fUseFALTRO; // get FALTRO (trigger) and put it on trigger digits. - + Bool_t fFitLEDEvents; // fit LED events or not + static TObjArray* fgkMaps; // ALTRO mappings for RCU0..RCUX - ClassDef(AliEMCALRecParam,11) // Reconstruction parameters + ClassDef(AliEMCALRecParam,12) // Reconstruction parameters } ; diff --git a/EMCAL/AliEMCALReconstructor.cxx b/EMCAL/AliEMCALReconstructor.cxx index 4a0e894832b..0e5a828b4e7 100644 --- a/EMCAL/AliEMCALReconstructor.cxx +++ b/EMCAL/AliEMCALReconstructor.cxx @@ -156,15 +156,15 @@ void AliEMCALReconstructor::Reconstruct(TTree* digitsTree, TTree* clustersTree) ReadDigitsArrayFromTree(digitsTree); fgClusterizer->InitParameters(); fgClusterizer->SetOutput(clustersTree); - + AliEMCALTriggerData* trgData = new AliEMCALTriggerData(); Int_t bufferSize = 32000; if (TBranch* triggerBranch = clustersTree->GetBranch("EMTRG")) - triggerBranch->SetAddress(&trgData); - else - clustersTree->Branch("EMTRG","AliEMCALTriggerData",&trgData,bufferSize); + triggerBranch->SetAddress(&trgData); + else + clustersTree->Branch("EMTRG","AliEMCALTriggerData",&trgData,bufferSize); TClonesArray *trgDigits = new TClonesArray("AliEMCALRawDigit",1000); TBranch *branchdig = digitsTree->GetBranch("EMTRG"); @@ -176,29 +176,33 @@ void AliEMCALReconstructor::Reconstruct(TTree* digitsTree, TTree* clustersTree) branchdig->SetAddress(&trgDigits); branchdig->GetEntry(0); - - Int_t v0M[2] = {0,0}; - fgTriggerProcessor->Digits2Trigger(trgDigits, v0M, trgData); - trgDigits->Delete(); - delete trgDigits; trgDigits = 0x0; + //Skip clusterization of LED events + if (GetRecParam()->GetEventSpecie()!=AliRecoParam::kCalib){ - if(fgDigitsArr && fgDigitsArr->GetEntries()) { + Int_t v0M[2] = {0,0}; + fgTriggerProcessor->Digits2Trigger(trgDigits, v0M, trgData); + + + if(fgDigitsArr && fgDigitsArr->GetEntries()) { - fgClusterizer->SetInput(digitsTree); + fgClusterizer->SetInput(digitsTree); - if(Debug()) - fgClusterizer->Digits2Clusters("deb all") ; - else - fgClusterizer->Digits2Clusters(""); + if(Debug()) + fgClusterizer->Digits2Clusters("deb all") ; + else + fgClusterizer->Digits2Clusters(""); - fgClusterizer->Clear(); - - } + fgClusterizer->Clear(); + }//digits array exists and has somethind + }//not a LED event + clustersTree->Fill(); + trgDigits->Delete(); + delete trgDigits; trgDigits = 0x0; + delete trgData; trgData = 0x0; - delete trgData; trgData = 0x0; } //____________________________________________________________________________ @@ -217,23 +221,32 @@ void AliEMCALReconstructor::ConvertDigits(AliRawReader* rawReader, TTree* digits Int_t bufsize = 32000; digitsTree->Branch("EMCAL", &digitsArr, bufsize); digitsTree->Branch("EMTRG", &digitsTrg, bufsize); - - //must be done here because, in constructor, option is not yet known - fgRawUtils->SetOption(GetOption()); - - fgRawUtils->SetRawFormatHighLowGainFactor(GetRecParam()->GetHighLowGainFactor()); - fgRawUtils->SetRawFormatOrder(GetRecParam()->GetOrderParameter()); - fgRawUtils->SetRawFormatTau(GetRecParam()->GetTau()); - fgRawUtils->SetNoiseThreshold(GetRecParam()->GetNoiseThreshold()); - fgRawUtils->SetNPedSamples(GetRecParam()->GetNPedSamples()); - fgRawUtils->SetRemoveBadChannels(GetRecParam()->GetRemoveBadChannels()); - fgRawUtils->SetFittingAlgorithm(GetRecParam()->GetFittingAlgorithm()); - fgRawUtils->SetFALTROUsage(GetRecParam()->UseFALTRO()); - fgRawUtils->SetTimeMin(GetRecParam()->GetTimeMin()); - fgRawUtils->SetTimeMax(GetRecParam()->GetTimeMax()); - fgRawUtils->Raw2Digits(rawReader,digitsArr,fPedestalData,digitsTrg); - + //Skip calibration events do the rest + Bool_t doFit = kTRUE; + if ( !(GetRecParam()->FitLEDEvents()) && GetRecParam()->GetEventSpecie()==AliRecoParam::kCalib) doFit = kFALSE; + if (doFit){ + //must be done here because, in constructor, option is not yet known + fgRawUtils->SetOption(GetOption()); + + fgRawUtils->SetRawFormatHighLowGainFactor(GetRecParam()->GetHighLowGainFactor()); + fgRawUtils->SetRawFormatOrder(GetRecParam()->GetOrderParameter()); + fgRawUtils->SetRawFormatTau(GetRecParam()->GetTau()); + fgRawUtils->SetNoiseThreshold(GetRecParam()->GetNoiseThreshold()); + fgRawUtils->SetNPedSamples(GetRecParam()->GetNPedSamples()); + fgRawUtils->SetRemoveBadChannels(GetRecParam()->GetRemoveBadChannels()); + fgRawUtils->SetFittingAlgorithm(GetRecParam()->GetFittingAlgorithm()); + fgRawUtils->SetFALTROUsage(GetRecParam()->UseFALTRO()); + fgRawUtils->SetTimeMin(GetRecParam()->GetTimeMin()); + fgRawUtils->SetTimeMax(GetRecParam()->GetTimeMax()); + + fgRawUtils->Raw2Digits(rawReader,digitsArr,fPedestalData,digitsTrg); + } + else{ + AliDebug(1," Calibration Event, skip!"); + printf("**** AliEMCALReconstructor::ConvertDigits() Calibration Event, skip!!\n"); + } + digitsTree->Fill(); digitsArr->Delete(); digitsTrg->Delete();