#include "AliFMDDebug.h" // ALILOG_H
#include "AliFMDAnaParameters.h" // ALIFMDPARAMETERS_H
-#include <AliCDBManager.h> // ALICDBMANAGER_H
-#include <AliCDBEntry.h> // ALICDBMANAGER_H
-#include "AliFMDRing.h"
+//#include <AliCDBManager.h> // ALICDBMANAGER_H
+//#include <AliCDBEntry.h> // ALICDBMANAGER_H
+//#include "AliFMDRing.h"
#include <AliLog.h>
#include <Riostream.h>
#include <sstream>
#endif
const char* AliFMDAnaParameters::fgkBackgroundCorrection = "FMD/Correction/Background";
-const char* AliFMDAnaParameters::fgkEnergyDists = "FMD/Correction/EnergyDistribution";
+const char* AliFMDAnaParameters::fgkEnergyDists = "FMD/Correction/EnergyDistribution";
+const char* AliFMDAnaParameters::fkBackgroundID = "background";
+const char* AliFMDAnaParameters::fkEnergyDistributionID = "energydistributions";
//____________________________________________________________________
AliFMDAnaParameters* AliFMDAnaParameters::fgInstance = 0;
AliFMDAnaParameters::AliFMDAnaParameters() :
fIsInit(kFALSE),
fBackground(0),
- fEnergyDistribution(0)
+ fEnergyDistribution(0),
+ fCorner1(4.2231, 26.6638),
+ fCorner2(1.8357, 27.9500),
+ fEnergyPath("$ALICE_ROOT/FMD/Correction/EnergyDistribution/energydistributions.root"),
+ fBackgroundPath("$ALICE_ROOT/FMD/Correction/Background/background.root")
{
+
+ //fVerticies.Add(new TVector2(4.2231, 26.6638));
+ // fVerticies.Add(new TVector2(1.8357, 27.9500));
// Default constructor
}
//____________________________________________________________________
if (what & kBackgroundCorrection) InitBackground();
if (what & kEnergyDistributions) InitEnergyDists();
+
fIsInit = kTRUE;
}
//____________________________________________________________________
void AliFMDAnaParameters::InitBackground() {
- AliCDBEntry* background = GetEntry(fgkBackgroundCorrection);
- if (!background) return;
+ //AliCDBEntry* background = GetEntry(fgkBackgroundCorrection);
+ TFile* fin = TFile::Open(fBackgroundPath.Data());
+
+ if (!fin) return;
- fBackground = dynamic_cast<AliFMDAnaCalibBackgroundCorrection*>(background->GetObject());
+ fBackground = dynamic_cast<AliFMDAnaCalibBackgroundCorrection*>(fin->Get(fkBackgroundID));
if (!fBackground) AliFatal("Invalid background object from CDB");
}
void AliFMDAnaParameters::InitEnergyDists() {
- AliCDBEntry* edist = GetEntry(fgkEnergyDists);
- if (!edist) return;
+ TFile* fin = TFile::Open(fEnergyPath.Data());
+ //AliCDBEntry* edist = GetEntry(fgkEnergyDists);
+ if (!fin) return;
- fEnergyDistribution = dynamic_cast<AliFMDAnaCalibEnergyDistribution*>(edist->GetObject());
+ fEnergyDistribution = dynamic_cast<AliFMDAnaCalibEnergyDistribution*>(fin->Get(fkEnergyDistributionID));
if (!fEnergyDistribution) AliFatal("Invalid background object from CDB");
return fBackground->GetBgCorrection(det,ring,vtxbin);
}
//_____________________________________________________________________
+Float_t AliFMDAnaParameters::GetMaxR(Char_t ring) {
+ Float_t radius = 0;
+ if(ring == 'I')
+ radius = 17.2;
+ else if(ring == 'O')
+ radius = 28.0;
+ else
+ AliWarning("Unknown ring - must be I or O!");
+
+ return radius;
+}
+//_____________________________________________________________________
+Float_t AliFMDAnaParameters::GetMinR(Char_t ring) {
+ Float_t radius = 0;
+ if(ring == 'I')
+ radius = 4.5213;
+ else if(ring == 'O')
+ radius = 15.4;
+ else
+ AliWarning("Unknown ring - must be I or O!");
+
+ return radius;
+
+}
+//_____________________________________________________________________
+void AliFMDAnaParameters::SetCorners(Char_t ring) {
+
+ if(ring == 'I') {
+ fCorner1.Set(4.9895, 15.3560);
+ fCorner2.Set(1.8007, 17.2000);
+ }
+ else {
+ fCorner1.Set(4.2231, 26.6638);
+ fCorner2.Set(1.8357, 27.9500);
+ }
+
+}
+//_____________________________________________________________________
Float_t AliFMDAnaParameters::GetPhiFromSector(UShort_t det, Char_t ring, UShort_t sec)
{
Int_t nsec = (ring == 'I' ? 20 : 40);
//_____________________________________________________________________
Float_t AliFMDAnaParameters::GetEtaFromStrip(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip, Float_t zvtx)
{
- AliFMDRing fmdring(ring);
- fmdring.Init();
- Float_t rad = fmdring.GetMaxR()-fmdring.GetMinR();
- Float_t segment = rad / fmdring.GetNStrips();
- Float_t r = fmdring.GetMinR() + segment*strip;
+ // AliFMDRing fmdring(ring);
+ // fmdring.Init();
+ Float_t rad = GetMaxR(ring)-GetMinR(ring);
+ Float_t Nstrips = (ring == 'I' ? 512 : 256);
+ Float_t segment = rad / Nstrips;
+ Float_t r = GetMinR(ring) + segment*strip;
Float_t z = 0;
Int_t hybrid = sec / 2;
Float_t eta = -1*TMath::Log(TMath::Tan(0.5*theta));
return eta;
-}
+}/*
//____________________________________________________________________
AliCDBEntry* AliFMDAnaParameters::GetEntry(const char* path, Bool_t fatal) const
{
}
return entry;
}
-
-
+ */
+//____________________________________________________________________
+Float_t
+AliFMDAnaParameters::GetStripLength(Char_t ring, UShort_t strip)
+{
+ //AliFMDRing fmdring(ring);
+ // fmdring.Init();
+
+ Float_t rad = GetMaxR(ring)-GetMinR(ring);
+ Float_t Nstrips = (ring == 'I' ? 512 : 256);
+ Float_t segment = rad / Nstrips;
+
+ //TVector2* corner1 = fmdring.GetVertex(2);
+ // TVector2* corner2 = fmdring.GetVertex(3);
+
+ SetCorners(ring);
+ /*
+ std::cout<<GetMaxR(ring)<<" "<<fmdring.GetMaxR()<<std::endl;
+ std::cout<<GetMinR(ring)<<" "<<fmdring.GetMinR()<<std::endl;
+ std::cout<<corner1->X()<<" "<<fCorner1.X()<<std::endl;
+ std::cout<<corner2->X()<<" "<<fCorner2.X()<<std::endl;
+ std::cout<<corner1->Y()<<" "<<fCorner1.Y()<<std::endl;
+ std::cout<<corner2->Y()<<" "<<fCorner2.Y()<<std::endl;*/
+ Float_t slope = (fCorner1.Y() - fCorner2.Y()) / (fCorner1.X() - fCorner2.X());
+ Float_t constant = (fCorner2.Y()*fCorner1.X()-(fCorner2.X()*fCorner1.Y())) / (fCorner1.X() - fCorner2.X());
+ Float_t radius = GetMinR(ring) + strip*segment;
+
+ Float_t d = TMath::Power(TMath::Abs(radius*slope),2) + TMath::Power(radius,2) - TMath::Power(constant,2);
+
+ Float_t arclength = GetBaseStripLength(ring,strip);
+ if(d>0) {
+
+ Float_t x = (-1*TMath::Sqrt(d) -slope*constant) / (1+TMath::Power(slope,2));
+ Float_t y = slope*x + constant;
+ Float_t theta = TMath::ATan2(x,y);
+
+ if(x < fCorner1.X() && y > fCorner1.Y()) {
+ arclength = radius*theta; //One sector since theta is by definition half-hybrid
+
+ }
+
+ }
+
+ return arclength;
+
+
+}
+//____________________________________________________________________
+Float_t
+AliFMDAnaParameters::GetBaseStripLength(Char_t ring, UShort_t strip)
+{
+ // AliFMDRing fmdring(ring);
+ // fmdring.Init();
+ Float_t rad = GetMaxR(ring)-GetMinR(ring);
+ Float_t Nstrips = (ring == 'I' ? 512 : 256);
+ Float_t Nsec = (ring == 'I' ? 20 : 40);
+ Float_t segment = rad / Nstrips;
+ Float_t basearc = 2*TMath::Pi() / (0.5*Nsec); // One hybrid: 36 degrees inner, 18 outer
+ Float_t radius = GetMinR(ring) + strip*segment;
+ Float_t basearclength = 0.5*basearc * radius; // One sector
+
+ return basearclength;
+}
//____________________________________________________________________
//
// EOF
#include "TH1F.h"
#include "AliFMDAnaCalibBackgroundCorrection.h"
#include "AliFMDAnaCalibEnergyDistribution.h"
+#include <TVector2.h>
+#include <TString.h>
//____________________________________________________________________
//
// Singleton class to handle various parameters (not geometry) of the
TH2F* GetBackgroundCorrection(Int_t det, Char_t ring, Int_t vtxbin);
Float_t GetPhiFromSector(UShort_t det, Char_t ring, UShort_t sec);
Float_t GetEtaFromStrip(UShort_t det, Char_t ring, UShort_t sec, UShort_t strip, Float_t zvtx);
+ Float_t GetStripLength(Char_t ring, UShort_t strip) ;
+ Float_t GetBaseStripLength(Char_t ring, UShort_t strip) ;
+ Float_t GetMaxR(Char_t ring) ;
+ Float_t GetMinR(Char_t ring) ;
+ void SetBackgroundPath(const Char_t* bgpath) {fBackgroundPath.Form(bgpath);}
+ void SetEnergyPath(const Char_t* epath) {fEnergyPath.Form(epath);}
+
+ static const char* fkBackgroundID;
+ static const char* fkEnergyDistributionID ;
protected:
AliFMDAnaParameters();
static AliFMDAnaParameters* fgInstance; // Static singleton instance
- AliCDBEntry* GetEntry(const char* path, Bool_t fatal=kTRUE) const ;
+ // AliCDBEntry* GetEntry(const char* path, Bool_t fatal=kTRUE) const ;
void InitBackground();
void InitEnergyDists();
TH1F* GetEnergyDistribution(Int_t det, Char_t ring, Float_t eta);
TObjArray* GetBackgroundArray();
TAxis* GetRefAxis();
-
+ void SetCorners(Char_t ring) ;
Bool_t fIsInit;
//TObjArray* fBackgroundArray;
AliFMDAnaCalibEnergyDistribution* fEnergyDistribution;
static const char* fgkBackgroundCorrection;
static const char* fgkEnergyDists;
+
+ TVector2 fCorner1;
+ TVector2 fCorner2;
+ TString fEnergyPath;
+ TString fBackgroundPath;
+
ClassDef(AliFMDAnaParameters,0) // Manager of parameters
};
#include "AliESDVertex.h"
#include "TMath.h"
#include "AliFMDAnaParameters.h"
-#include "AliFMDGeometry.h"
+//#include "AliFMDGeometry.h"
ClassImp(AliFMDAnalysisTaskBackgroundCorrection)
hHits->Add(hMultInput);
TH2F* hBg = pars->GetBackgroundCorrection(det, ringChar, vtxbin);
- TH2F* hTmp = (TH2F*)hMultInput->Clone("hMult_from_event");
+ //TH2F* hTmp = (TH2F*)hMultInput->Clone("hMult_from_event");
+ hMultTotal->Add(hMultInput);
- hTmp->Divide(hTmp,hBg,1,1);//,"B");
+ hMultTotal->Divide(hBg);//,"B");
/*for(Int_t i = 1; i<=hTmp->GetNbinsX();i++) {
for(Int_t j = 1; j<=hTmp->GetNbinsY();j++) {
Float_t mult = hTmp->GetBinContent(i,j);
hTmp->SetBinContent(i,j,multcor);
}
}*/
- hMultTotal->Add(hTmp);
- delete hTmp;
+
+
+
+ // delete hTmp;
}
}
#include "AliStack.h"
#include "AliESDVertex.h"
#include "AliFMDAnaParameters.h"
-#include "AliFMDGeometry.h"
+//#include "AliFMDGeometry.h"
ClassImp(AliFMDAnalysisTaskCollector)
Float_t mult = fmd->Multiplicity(det,ring,sec,strip);
if(mult == AliESDFMD::kInvalidMult || mult == 0) continue;
- AliFMDGeometry* geo = AliFMDGeometry::Instance();
+ //AliFMDGeometry* geo = AliFMDGeometry::Instance();
- Double_t x,y,z;
- geo->Detector2XYZ(det,ring,sec,strip,x,y,z);
+ // Double_t x,y,z;
+ //geo->Detector2XYZ(det,ring,sec,strip,x,y,z);
- Double_t r = TMath::Sqrt(x*x+y*y);
+ // Double_t r = TMath::Sqrt(x*x+y*y);
- Double_t z_real = z-vertex[2];
- Double_t theta = TMath::ATan2(r,z_real);
+ // Double_t z_real = z-vertex[2];
+ // Double_t theta = TMath::ATan2(r,z_real);
// std::cout<<"From EtaFromStrip "<<theta<<std::endl;
- Double_t eta = -1*TMath::Log(TMath::Tan(0.5*theta));
+ //Double_t eta = -1*TMath::Log(TMath::Tan(0.5*theta));
+ Float_t eta = pars->GetEtaFromStrip(det,ring,sec,strip,vertex[2]);
//Float_t eta = fmd->Eta(det,ring,sec,strip);
Int_t nEta = hBg->GetXaxis()->FindBin(eta);
#include "AliESDVertex.h"
#include "TMath.h"
#include "AliFMDAnaParameters.h"
-#include "AliFMDParameters.h"
-#include "AliFMDGeometry.h"
-#include "AliFMDRing.h"
+//#include "AliFMDParameters.h"
+//#include "AliFMDGeometry.h"
+//#include "AliFMDRing.h"
ClassImp(AliFMDAnalysisTaskDensity)
fFuncPos->SetParameters(0.99925,0.00298301);
fFuncNeg = new TF1("funcNeg","pol1",-6,0);
fFuncNeg->SetParameters(0.987583,-0.0101022);
-
+
}
//_____________________________________________________________________
void AliFMDAnalysisTaskDensity::Exec(Option_t */*option*/)
{
AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
- AliFMDGeometry* geo = AliFMDGeometry::Instance();
+ // AliFMDGeometry* geo = AliFMDGeometry::Instance();
//AliESDFMD* fmd = fESD->GetFMDData();
Float_t correction = GetAcceptanceCorrection(ring,strip);
//std::cout<<"before "<<correction<<std::endl;
- if(det == 3)
- correction = correction / fFuncNeg->Eval(eta);
- else
- correction = correction / fFuncPos->Eval(eta);
+ if(fESD->GetUniqueID() == kTRUE) {
+ if(det == 3)
+ correction = correction / fFuncNeg->Eval(eta);
+ else
+ correction = correction / fFuncPos->Eval(eta);
+ }
// std::cout<<correction<<std::endl;
if(correction) nParticles = nParticles / correction;
}
+
+
if(fStandalone) {
PostData(0, fOutputList);
}
//_____________________________________________________________________
Float_t AliFMDAnalysisTaskDensity::GetAcceptanceCorrection(Char_t ring, UShort_t strip)
{
- AliFMDRing fmdring(ring);
- fmdring.Init();
- Float_t rad = fmdring.GetMaxR()-fmdring.GetMinR();
- Float_t segment = rad / fmdring.GetNStrips();
- Float_t radius = fmdring.GetMinR() + segment*strip;
+ AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
- Float_t basearea1 = 0.5*fmdring.GetBaseStripLength(strip)*TMath::Power(radius,2);
- Float_t basearea2 = 0.5*fmdring.GetBaseStripLength(strip)*TMath::Power((radius-segment),2);
+ //AliFMDRing fmdring(ring);
+ //fmdring.Init();
+ Float_t rad = pars->GetMaxR(ring)-pars->GetMinR(ring);
+ Float_t nstrips = (ring == 'I' ? 512 : 256);
+ Float_t segment = rad / nstrips;
+ Float_t radius = pars->GetMinR(ring) + segment*strip;
+
+ Float_t basearea1 = 0.5*pars->GetBaseStripLength(ring,strip)*TMath::Power(radius,2);
+ Float_t basearea2 = 0.5*pars->GetBaseStripLength(ring,strip)*TMath::Power((radius-segment),2);
Float_t basearea = basearea1 - basearea2;
- Float_t area1 = 0.5*fmdring.GetStripLength(strip)*TMath::Power(radius,2);
- Float_t area2 = 0.5*fmdring.GetStripLength(strip)*TMath::Power((radius-segment),2);
+ Float_t area1 = 0.5*pars->GetStripLength(ring,strip)*TMath::Power(radius,2);
+ Float_t area2 = 0.5*pars->GetStripLength(ring,strip)*TMath::Power((radius-segment),2);
Float_t area = area1 - area2;
Float_t correction = area/basearea;
return correction;
}
//_____________________________________________________________________
-Float_t AliFMDAnalysisTaskDensity::GetPhiFromSector(UShort_t det, Char_t ring, UShort_t sec)
+/*Float_t AliFMDAnalysisTaskDensity::GetPhiFromSector(UShort_t det, Char_t ring, UShort_t sec)
{
Int_t nsec = (ring == 'I' ? 20 : 40);
Float_t basephi = 0;
return phi;
}
-
+*/
//
//EOF
//
#include "AliESDVertex.h"
#include "TMath.h"
#include "AliFMDAnaParameters.h"
-#include "AliFMDGeometry.h"
+//#include "AliFMDGeometry.h"
#include "AliGenEventHeader.h"
#include "AliHeader.h"
-#include "TDatabasePDG.h"
-#include "TParticlePDG.h"
+//#include "TDatabasePDG.h"
+//#include "TParticlePDG.h"
#include "AliFMDStripIndex.h"
ClassImp(AliFMDAnalysisTaskDndeta)
AliFMDStripIndex::Unpack(ref->UserId(),det,ring,sec,strip);
Float_t thisStripTrack = fLastTrackByStrip.operator()(det,ring,sec,strip);
if(particle->Charge() != 0 && i != thisStripTrack ) {
- Double_t x,y,z;
+ //Double_t x,y,z;
/*AliFMDGeometry* fmdgeo = AliFMDGeometry::Instance();
fmdgeo->Detector2XYZ(det,ring,sec,strip,x,y,z);
#include "AliStack.h"
#include "AliMCParticle.h"
#include "AliMCEvent.h"
-#include "AliFMDGeometry.h"
+//#include "AliFMDGeometry.h"
#include "TArray.h"
#include "AliGenEventHeader.h"
#include "AliHeader.h"
#include "AliFMDAnaCalibBackgroundCorrection.h"
-#include "AliCDBManager.h"
-#include "AliCDBId.h"
-#include "AliCDBMetaData.h"
+//#include "AliCDBManager.h"
+//#include "AliCDBId.h"
+//#include "AliCDBMetaData.h"
#include "TSystem.h"
#include "TROOT.h"
#include "TAxis.h"
AliAnalysisTaskSE(name),
fZvtxCut(10),
fNvtxBins(10),
- fNbinsEta(100)
+ fNbinsEta(200)
{
DefineOutput(1, TList::Class());
AliFMDStripIndex::Unpack(ref->UserId(),det,ring,sec,strip);
Float_t thisStripTrack = fLastTrackByStrip.operator()(det,ring,sec,strip);
if(particle->Charge() != 0 && i != thisStripTrack ) {
- Double_t x,y,z;
- AliFMDGeometry* fmdgeo = AliFMDGeometry::Instance();
- fmdgeo->Detector2XYZ(det,ring,sec,strip,x,y,z);
-
- Float_t phi = TMath::ATan2(y,x);
- if(phi<0) phi = phi+2*TMath::Pi();
- Float_t r = TMath::Sqrt(TMath::Power(x,2)+TMath::Power(y,2));
- Float_t theta = TMath::ATan2(r,z-vertex.At(2));
- Float_t eta = -1*TMath::Log(TMath::Tan(0.5*theta));
+ //Double_t x,y,z;
+ //AliFMDGeometry* fmdgeo = AliFMDGeometry::Instance();
+ //fmdgeo->Detector2XYZ(det,ring,sec,strip,x,y,z);
+ Float_t phi = pars->GetPhiFromSector(det,ring,sec);
+ Float_t eta = pars->GetEtaFromStrip(det,ring,sec,strip,vertex.At(2));
+ //Float_t phi = TMath::ATan2(y,x);
+ //if(phi<0) phi = phi+2*TMath::Pi();
+ // Float_t r = TMath::Sqrt(TMath::Power(x,2)+TMath::Power(y,2));
+ //Float_t theta = TMath::ATan2(r,z-vertex.At(2));
+ //Float_t eta = -1*TMath::Log(TMath::Tan(0.5*theta));
TH2F* hHits = (TH2F*)fListOfHits.FindObject(Form("hHits_FMD%d%c_vtx%d", det,ring,vertexBin));
hHits->Fill(eta,phi);
Float_t nstrips = (ring =='O' ? 256 : 512);
//_____________________________________________________________________
void AliFMDAnalysisTaskGenerateBackground::Terminate(Option_t */*option*/)
{
- TH1F* allHits = (TH1F*)fListOfHits.FindObject("allHits");
+ /* TH1F* allHits = (TH1F*)fListOfHits.FindObject("allHits");
TH1F* doubleHits = (TH1F*)fListOfHits.FindObject("DoubleHits");
doubleHits->Divide(allHits);
GenerateCorrection();
PostData(1, &fListOfHits);
- PostData(4, &fListOfCorrection);
+ PostData(4, &fListOfCorrection);*/
}
//_____________________________________________________________________
fout.Close();
if(storeInOCDB) {
- AliCDBManager* cdb = AliCDBManager::Instance();
+ TFile fcalib("$ALICE_ROOT/FMD/Correction/Background/background.root","RECREATE");
+ fBackground->Write(AliFMDAnaParameters::fkBackgroundID);
+ fcalib.Close();
+ /* AliCDBManager* cdb = AliCDBManager::Instance();
cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
AliCDBId id(AliFMDAnaParameters::GetBackgroundPath(),runNo,999999999);
meta->SetComment("Background Correction for FMD");
meta->SetProperty("key1", fBackground );
cdb->Put(fBackground, id, meta);
-
+ */
}
}
AliMCEvent* mcevent = MCEvent();
fDndeta.SetMCEvent(mcevent);
fDndeta.Exec("");
+
}
}
else
#include <TList.h>
#include <iostream>
#include <TMath.h>
-#include "AliFMDDebug.h"
+//#include "AliFMDDebug.h"
#include "AliFMDAnalysisTaskSharing.h"
#include "AliAnalysisManager.h"
#include "AliESDFMD.h"
-#include "AliFMDGeometry.h"
+//#include "AliFMDGeometry.h"
#include "AliMCEventHandler.h"
#include "AliStack.h"
#include "AliESDVertex.h"
#include "AliMultiplicity.h"
#include "AliFMDAnaParameters.h"
-#include "AliFMDParameters.h"
+//#include "AliFMDParameters.h"
ClassImp(AliFMDAnalysisTaskSharing)
else foutputESDFMD->SetUniqueID(kFALSE);
AliESDFMD* fmd = fESD->GetFMDData();
-
+ AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
if (!fmd) return;
Int_t nHits = 0;
for(UShort_t det=1;det<=3;det++) {
if(mult == AliESDFMD::kInvalidMult || mult == 0) continue;
//Double_t eta = EtaFromStrip(det,ring,sec,strip,vertex[2]);//fmd->Eta(det,ring,sec,strip);
- Double_t eta = fmd->Eta(det,ring,sec,strip);
+ //Double_t eta = fmd->Eta(det,ring,sec,strip);
+ Float_t eta = pars->GetEtaFromStrip(det,ring,sec,strip,vertex[2]);
//std::cout<<EtaFromStrip(det,ring,sec,strip,vertex[2]) <<" "<<fmd->Eta(det,ring,sec,strip)<<std::endl;
hEdist->Fill(mult);
}
//_____________________________________________________________________
-Double_t AliFMDAnalysisTaskSharing::EtaFromStrip(UShort_t det,
+/*Double_t AliFMDAnalysisTaskSharing::EtaFromStrip(UShort_t det,
Char_t ring,
UShort_t sector,
UShort_t strip,
// std::cout<<det<<" "<<ring<<" "<<sector<<" "<<strip<<" "<<r<<" "<<z_real<<" "<<theta<<" "<<eta<<std::endl;
return eta;
-}
+ }*/
//_____________________________________________________________________
//
// EOF