/* $Id$ */
+//-----------------------------------------------------
+// A Branch for the case of an array of clone objects.
+//-----------------------------------------------------
+// Author M.Ivanov
+//*KEND.
+
#include "TROOT.h"
#include "AliArrayBranch.h"
#include "TFile.h"
#include "AliObjectArray.h"
#include "AliDataType.h"
-//-----------------------------------------------------
-// A Branch for the case of an array of clone objects.
-//-----------------------------------------------------
-
-//*KEND.
R__EXTERN TTree *gTree;
void AliArrayBranch::Import(TLeaf * leaf, Int_t n)
{
+ //
+ // Import leaf n from the branch
+ //
const Int_t kIntUndefined = -9999;
Int_t j = 0;
TBranch * AliTree::AliBranch(const char *name, void *clonesaddress, Int_t bufsize, Int_t splitlevel,
Int_t compres)
{
+ //
+ // Create an AliBranch and returns a reference to the TBranch
+ //
if (clonesaddress == 0) return 0;
char *cpointer =(char*)clonesaddress;
char **ppointer =(char**)cpointer;
TBranch* AliTree::AliBranch(const char *name, const char *classname, void *addobj,
Int_t bufsize, Int_t splitlevel)
{
+ //
+ // Create an AliBranch and returns a reference to the TBranch
+ //
gTree = this;
TClass *cl = gROOT->GetClass(classname);
if (!cl) {
class AliArraySubBranch : public TBranch {
public:
- AliArraySubBranch(){;}
+ AliArraySubBranch(){}
AliArraySubBranch(const char* name, void* address, const char* leaflist, Int_t basketsize = 32000,
- Int_t compress = -1):TBranch(name, address, leaflist, basketsize, compress){;}
+ Int_t compress = -1):TBranch(name, address, leaflist, basketsize, compress){}
+ virtual ~AliArraySubBranch() {}
virtual Int_t GetEntryExport(Long64_t entry, Int_t getall, TClonesArray* list, Int_t n) { return TBranch::GetEntryExport(entry, getall, list, n); }
virtual Int_t GetEntryExport(Int_t entry, Int_t getall, AliObjectArray* list, Int_t n);
virtual void ReadBasketExport(TBuffer &b, TLeaf *leaf, AliObjectArray *list, Int_t n);
class AliArrayBranch : public TBranch {
-private:
- void Import(TLeaf * leaf, Int_t n); //integer fill leef buffer
-protected:
- AliObjectArray *fList; //Pointer to the clonesarray
- Int_t fRead; //flag = 1 if clonesarray has been read
- Int_t fN; //Number of elements in ClonesArray
- Int_t fNdataMax; //Maximum value of fN
- TString fClassName; //name of the class of the objets in the ClonesArray
- TBranch *fBranchCount; //Branch with clones count
-
public:
AliArrayBranch();
AliArrayBranch(const Text_t *name, void *clonesaddress, TTree * tree, Int_t basketsize=32000,Int_t compress=-1);
virtual void Browse(TBrowser *b);
virtual Int_t Fill();
virtual Int_t GetEntry(Long64_t entry=0, Int_t getall = 0);
- virtual Int_t GetN() {return fN;}
- AliObjectArray *GetList() {return fList;}
- Bool_t IsFolder() {return kTRUE;}
+ virtual Int_t GetN() const {return fN;}
+ AliObjectArray *GetList() const {return fList;}
virtual void Print(Option_t *option="") const;
virtual void Reset(Option_t *option="");
virtual void SetAddress(void *add);
virtual void SetBasketSize(Int_t buffsize);
virtual Bool_t IsFolder() const {return kTRUE;}
+
+protected:
+ AliObjectArray *fList; //Pointer to the clonesarray
+ Int_t fRead; //flag = 1 if clonesarray has been read
+ Int_t fN; //Number of elements in ClonesArray
+ Int_t fNdataMax; //Maximum value of fN
+ TString fClassName; //name of the class of the objets in the ClonesArray
+ TBranch *fBranchCount; //Branch with clones count
+
+private:
+ AliArrayBranch(const AliArrayBranch &);
+ AliArrayBranch & operator=(const AliArrayBranch &);
+ void Import(TLeaf * leaf, Int_t n); //integer fill leef buffer
ClassDef(AliArrayBranch,1) //Branch in case of an array of clone objects
};
// the class AliITSvSPD002 must be read in, one way or the other, so that
// the Geometry transoformation class AliITSgeom will prpoerly be inilized.
-#include <stdlib.h>
-#include <stddef.h>
-#include <iomanip>
-#include <Riostream.h>
-#include <fstream>
+
+//#include <Riostream.h>
#include <TArrayI.h>
#include "AliITSspdTestBeam.h"
-#include <Rtypes.h>
#ifndef ALIITSSPDTESTBEAM_H
#define ALIITSSPDTESTBEAM_H
/* Copyright (c) 1998-2001, ALICE Experiment at CERN, All rights reserved *
* See cxx source for full Copyright notice */
+/* $Id$ */
+
+//
+// Class for the reading of the SPD
+// Test beam data
+// More information on this class will follow
+//
+
+#include <Rtypes.h>
#include <TTask.h>
-//class ifstream;
class AliITS;
class AliITSspdTestBeamHeader;
class AliITSspdTestBeamTail;
class AliITSspdTestBeamBurst;
class AliITSspdTestBeamData;
-class AliITSspdTestBeam : public TTask{
- public:
+class AliITSspdTestBeam : public TTask
+{
+public:
AliITSspdTestBeam();
AliITSspdTestBeam(const Char_t *filename,const Char_t *opt="2002",
AliITS *its=0);
- AliITSspdTestBeam(const AliITSspdTestBeam &s):TTask(s){if(this==&s) return;Error("Copy constructor","You are not allowed to make a copy of AliITSspdTestBeam");exit(1);} //Not to be used!
- AliITSspdTestBeam& operator=(AliITSspdTestBeam &s){if(this==&s) return *this;Error("operator=","You are not allowed to make a copy of AliITSspdTestBeam");exit(1);return *this;} //Not to be used!
virtual ~AliITSspdTestBeam();
//
virtual Int_t OpenInputFile(const Char_t *filename,Int_t start=0,
virtual Int_t Read(Int_t i=0);
virtual Int_t Decode();
virtual Int_t GetNumberOfPilots()const{return 3;}
- private:
+private:
+ AliITSspdTestBeam(const AliITSspdTestBeam &);
+ AliITSspdTestBeam & operator=(const AliITSspdTestBeam &);
void SetTerminationWord(){fTermination=0xffffd9f0;}
//
AliITSspdTestBeamHeader *fRH; //! Run Header
#ifndef ALIITSSPDTESTBEAMHEADER_H
#define ALIITSSPDTESTBEAMHEADER_H
-#include <Riostream.h>
-
-//class ostream;
-
/* Copyright (c) 1998-2001, ALICE Experiment at CERN, All rights reserved *
* See cxx source for full Copyright notice */
+#include <Riostream.h>
+
class AliITSspdTestBeamHeader : public AliITSTestBeamData{
public:
AliITSspdTestBeamHeader(){};
#include <Riostream.h>
-//class ostream;
-
class AliITSspdTestBeamTail : public AliITSTestBeamData{
public:
AliITSspdTestBeamTail(){};
#include <Riostream.h>
-//class ostream;
-
class AliITSspdTestBeamBurst : public AliITSTestBeamData{
public:
AliITSspdTestBeamBurst(){};
* about the suitability of this software for any purpose. It is *
* provided "as is" without express or implied warranty. *
**************************************************************************/
+
+/* $Id$ */
+
////////////////////////////////////////////////////
// Stand alone track class //
// Origin: Elisabetta Crescio //
* provided "as is" without express or implied warranty. *
**************************************************************************/
+/* $Id$ */
+
//-------------------------------------------------------------------------
// Implementation of the ITS tracker class
// It reads AliITSclusterV2 clusters and creates AliITStrackMI tracks
// dEdx analysis by: Boris Batyunya, JINR, Boris.Batiounia@cern.ch
//
//-------------------------------------------------------------------------
-#include "AliITSrecoV2.h"
+
+#include <TMatrixD.h>
#include <TTree.h>
-#include "AliITSgeom.h"
+#include <TTreeStream.h>
+#include <TTree.h>
+
#include "AliESD.h"
+#include "AliESDV0MI.h"
+#include "AliHelix.h"
#include "AliITSclusterV2.h"
+#include "AliITSgeom.h"
#include "AliITStrackerMI.h"
-#include "TMatrixD.h"
-#include "TFile.h"
-#include "TTree.h"
-#include "AliHelix.h"
-#include "AliESDV0MI.h"
-#include "AliLog.h"
-#include "TTreeStream.h"
ClassImp(AliITStrackerMI)
//Get nearest upper layer close to the point xr.
// rough approximation
//
- const Float_t radiuses[6]={4,6.5,15.03,24.,38.5,43.7};
+ const Float_t kRadiuses[6]={4,6.5,15.03,24.,38.5,43.7};
Float_t radius = TMath::Sqrt(xr[0]*xr[0]+xr[1]*xr[1]);
Int_t res =6;
for (Int_t i=0;i<6;i++){
- if (radius<radiuses[i]){
+ if (radius<kRadiuses[i]){
res =i;
break;
}
Float_t sigmap0 = 0.0001+0.001/(0.1+pvertex->GetRr());
Float_t sigmap = 0.5*sigmap0*(0.6+0.4*p12); // "resolution: of point angle - as a function of radius and momenta
- Float_t CausalityA = (1.0-pvertex->GetCausalityP()[0])*(1.0-pvertex->GetCausalityP()[1]);
- Float_t CausalityB = TMath::Sqrt(TMath::Min(pvertex->GetCausalityP()[2],Float_t(0.7))*
+ Float_t causalityA = (1.0-pvertex->GetCausalityP()[0])*(1.0-pvertex->GetCausalityP()[1]);
+ Float_t causalityB = TMath::Sqrt(TMath::Min(pvertex->GetCausalityP()[2],Float_t(0.7))*
TMath::Min(pvertex->GetCausalityP()[3],Float_t(0.7)));
//
- Float_t Likelihood0 = (TMath::Exp(-pvertex->GetDistNorm())+0.1) *(pvertex->GetDist2()<0.5)*(pvertex->GetDistNorm()<5);
+ Float_t likelihood0 = (TMath::Exp(-pvertex->GetDistNorm())+0.1) *(pvertex->GetDist2()<0.5)*(pvertex->GetDistNorm()<5);
- Float_t Likelihood1 = TMath::Exp(-(1.0001-pvertex->GetPointAngle())/sigmap)+
+ Float_t likelihood1 = TMath::Exp(-(1.0001-pvertex->GetPointAngle())/sigmap)+
0.4*TMath::Exp(-(1.0001-pvertex->GetPointAngle())/(4.*sigmap))+
0.4*TMath::Exp(-(1.0001-pvertex->GetPointAngle())/(8.*sigmap))+
0.1*TMath::Exp(-(1.0001-pvertex->GetPointAngle())/0.01);
//
- if (CausalityA<kCausality0Cut) v0OK = kFALSE;
- if (TMath::Sqrt(Likelihood0*Likelihood1)<kLikelihood01Cut) v0OK = kFALSE;
- if (Likelihood1<kLikelihood1Cut) v0OK = kFALSE;
- if (TMath::Power(Likelihood0*Likelihood1*CausalityB,0.33)<kCombinedCut) v0OK = kFALSE;
+ if (causalityA<kCausality0Cut) v0OK = kFALSE;
+ if (TMath::Sqrt(likelihood0*likelihood1)<kLikelihood01Cut) v0OK = kFALSE;
+ if (likelihood1<kLikelihood1Cut) v0OK = kFALSE;
+ if (TMath::Power(likelihood0*likelihood1*causalityB,0.33)<kCombinedCut) v0OK = kFALSE;
//
//
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
+/* $Id$ */
+
//-------------------------------------------------------------------------
// ITS tracker
// reads AliITSclusterMI clusters and creates AliITStrackMI tracks
// Origin: Marian Ivanov, CERN, Marian.Ivanov@cern.ch
//-------------------------------------------------------------------------
+class TTree;
+class TTreeSRedirector;
#include <TObjArray.h>
-#include "AliTracker.h"
-#include "AliITStrackMI.h"
-#include "AliITSclusterV2.h"
-#include "AliV0vertex.h"
-
class AliESD;
-class AliITSgeom;
-class TTree;
+class AliESDV0MI;
class AliHelix;
+class AliITSgeom;
class AliV0vertex;
-class AliESDV0MI;
-
-class TTreeSRedirector;
-
-
-
+#include "AliITSclusterV2.h"
+#include "AliITStrackMI.h"
+#include "AliTracker.h"
+#include "AliV0vertex.h"
//-------------------------------------------------------------------------
class AliITStrackerMI : public AliTracker {
Double_t GetR() const {return fR;}
Int_t FindClusterIndex(Float_t z) const;
AliITSclusterV2 *GetCluster(Int_t i) const {return i<fN? fClusters[i]:0;}
- Float_t *GetWeight(Int_t i) {return i<fN ?&fClusterWeight[i]:0;}
+ Float_t *GetWeight(Int_t i) {return i<fN ?&fClusterWeight[i]:0;}
AliITSdetector &GetDetector(Int_t n) const { return fDetectors[n]; }
Int_t FindDetectorIndex(Double_t phi, Double_t z) const;
Double_t GetThickness(Double_t y, Double_t z, Double_t &x0) const;
void IncAccepted(){fAccepted++;}
Int_t GetAccepted() const {return fAccepted;}
protected:
- AliITSlayer(const AliITSlayer& /*layer*/){;}
+ AliITSlayer(const AliITSlayer& /*layer*/);
+ AliITSlayer & operator=(const AliITSlayer& /*layer*/);
Double_t fR; // mean radius of this layer
Double_t fPhiOffset; // offset of the first detector in Phi
Int_t fNladders; // number of ladders
Float_t * fCoeficients; //! working array with errors and mean cluser shape
AliESD * fEsd; //! pointer to the ESD event
TTreeSRedirector *fDebugStreamer; //!debug streamer
- private:
- AliITStrackerMI(const AliITStrackerMI * /*tracker*/){;}
+private:
+ AliITStrackerMI(const AliITStrackerMI &);
+ AliITStrackerMI & operator=(const AliITStrackerMI &);
ClassDef(AliITStrackerMI,2) //ITS tracker MI
};
* provided "as is" without express or implied warranty. *
**************************************************************************/
+/* $Id$ */
+
////////////////////////////////////////////////////
// Stand alone tracker class //
// Origin: Elisabetta Crescio //
////////////////////////////////////////////////////
#include <stdlib.h>
-#include "TArrayI.h"
+
+#include <TArrayI.h>
#include <TBranch.h>
#include <TMath.h>
#include <TObjArray.h>
#include <TTree.h>
-#include "AliRun.h"
+
+#include "AliESD.h"
+#include "AliESDVertex.h"
+#include "AliESDtrack.h"
+#include "AliITSRiemannFit.h"
+#include "AliITSVertexer.h"
#include "AliITSclusterTable.h"
#include "AliITSclusterV2.h"
#include "AliITSgeom.h"
-#include "AliITSRiemannFit.h"
-#include "AliITStrackerSA.h"
#include "AliITStrackSA.h"
-#include "AliITSVertexer.h"
-#include "AliESDVertex.h"
-#include "AliESD.h"
-#include "AliESDtrack.h"
+#include "AliITStrackerSA.h"
+#include "AliRun.h"
ClassImp(AliITStrackerSA)
}
-//______________________________________________________________________
-AliITStrackerSA::AliITStrackerSA(const AliITStrackerSA &trkr) :
- AliITStrackerMI(trkr) {
- // Copy constructor
- // Copies are not allowed. The method is protected to avoid misuse.
- Error("AliITStrackerSA","Copy constructor not allowed\n");
-}
-
-//______________________________________________________________________
-AliITStrackerSA& AliITStrackerSA::operator=(const
- AliITStrackerSA& /* trkr */){
- // Assignment operator
- // Assignment is not allowed. The method is protected to avoid misuse.
- Error("= operator","Assignment operator not allowed\n");
- return *this;
-}
-
//____________________________________________________________________________
AliITStrackerSA::AliITStrackerSA(AliITSgeom *geom, AliITSVertexer *vertexer):AliITStrackerMI(geom)
{
virtual void PostSDigitizer (AliPHOSSDigitizer * sdigitizer)
const {PhosLoader()->PostSDigitizer(sdigitizer);}
virtual void PostDigitizer (AliPHOSDigitizer * digitizer)
- const {PhosLoader()->PostDigitizer(dynamic_cast<AliDigitizer *>(digitizer));}
+ const {PhosLoader()->PostDigitizer(digitizer);}
virtual TString Version() const { return PhosLoader()->GetTitle() ; }
virtual AliPHOSLoader * PhosLoader() const { return fgPhosLoader ; }
//
-#include <Riostream.h>
-#include <TMath.h>
-#include <TObject.h>
-#include <TRandom.h>
#include <AliTPCParam.h>
-
-
-
ClassImp(AliTPCParam)
-Bool_t AliTPCParam::GetStatus()
+Bool_t AliTPCParam::GetStatus() const
{
//get information about object consistency
return fbStatus;
#include "AliDetectorParam.h"
#include "TMath.h"
-
-
class AliTPCParam : public AliDetectorParam {
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
//return number of valid response bin
virtual void SetDefault(); //set defaut TPCparam
virtual Bool_t Update(); //recalculate and check geometric parameters
- Bool_t GetStatus(); //get information about object consistency
+ Bool_t GetStatus() const; //get information about object consistency
Int_t GetIndex(Int_t sector, Int_t row) const; //give index of the given sector and pad row
Int_t GetNSegmentsTotal() const {return fNtRows;}
Double_t GetLowMaxY(Int_t irow) const {return irow*0.;}
Float_t GetOuterWWPitch() const {return fOuterWWPitch;}
Int_t GetOuterDummyWire() const {return fOuterDummyWire;}
Float_t GetOuterOffWire() const {return fOuterOffWire;}
- Float_t GetLastWireUp1() {return fLastWireUp1;}
+ Float_t GetLastWireUp1() const {return fLastWireUp1;}
Float_t GetROuterFirstWire() const {return fROuterFirstWire;}
Float_t GetROuterLastWire() const {return fROuterLastWire;}
Float_t GetWWPitch(Int_t isector = 0) const {
Float_t GetPadPitchWidth(Int_t isector = 0) const {
return ( (isector < fNInnerSector) ? fInnerPadPitchWidth :fOuterPadPitchWidth);}
Float_t GetPadPitchLength(Int_t isector = 0, Int_t padrow=0) const
- {
- if (isector < fNInnerSector) {return fInnerPadPitchLength;}
- else {
- return ((padrow<fNRowUp1) ? fOuter1PadPitchLength:fOuter2PadPitchLength);
- }
- }
+ { if (isector < fNInnerSector) return fInnerPadPitchLength;
+ else return ((padrow<fNRowUp1) ? fOuter1PadPitchLength:fOuter2PadPitchLength);}
Int_t GetNRowLow() const; //get the number of pad rows in low sector
Int_t GetNRowUp() const; //get the number of pad rows in up sector
Int_t GetNRowUp1() const; // number of short rows in up sector
Int_t GetNRowUp2() const; // number of long rows in up sector
Int_t GetNRow(Int_t isec) const {return ((isec<fNInnerSector) ? fNRowLow:fNRowUp);}
- Int_t GetNRowsTotal(){return fNtRows;} //get total nuber of rows
+ Int_t GetNRowsTotal() const {return fNtRows;} //get total nuber of rows
Float_t GetPadRowRadiiLow(Int_t irow) const; //get the pad row (irow) radii
Float_t GetPadRowRadiiUp(Int_t irow) const; //get the pad row (irow) radii
Float_t GetPadRowRadii(Int_t isec,Int_t irow) const {
Float_t GetZWidth() const {return fZWidth;}
Float_t GetTFWHM() const {return fTSigma*2.35;}
Float_t GetZSigma() const {return fTSigma*fDriftV;}
- virtual Float_t GetZOffset() {return 3*fTSigma*fDriftV;}
+ virtual Float_t GetZOffset() const {return 3*fTSigma*fDriftV;}
Int_t GetMaxTBin() const {return fMaxTBin;}
Int_t GetADCSat() const {return fADCSat;}
Float_t GetADCDynRange() const {return fADCDynRange;}
Float_t fRInnerLastWire; //position of the last wire -calculated
Float_t fLastWireUp1; //position of the last wire in outer1 sector
Int_t fNOuter1WiresPerPad; //Number of wires per pad
- Int_t fNOuter2WiresPerPad;
+ Int_t fNOuter2WiresPerPad; // Number of wires per pad
Float_t fOuterWWPitch; //pitch between wires in outer sector -calculated
Int_t fOuterDummyWire; //number of wires without pad readout
Float_t fOuterOffWire; //oofset of first wire to the begining of the sector
Float_t fInnerPadLength; //Inner pad length
Float_t fInnerPadWidth; //Inner pad width
Float_t fOuter1PadPitchLength; //Outer pad pitch length
- Float_t fOuter2PadPitchLength;
+ Float_t fOuter2PadPitchLength; //Outer pad pitch length
Float_t fOuterPadPitchWidth; //Outer pad pitch width
Float_t fOuter1PadLength; //Outer pad length
- Float_t fOuter2PadLength;
+ Float_t fOuter2PadLength; //Outer pad length
Float_t fOuterPadWidth; //Outer pad width
Bool_t fBMWPCReadout; //indicate wire readout - kTRUE or GEM readout -kFALSE
Int_t fNCrossRows; //number of rows to crostalk calculation
Float_t fTotalNormFac; //full normalisation factor - calculated
Float_t fNoiseNormFac; //normalisation factor to transform noise in electron to ADC channel
-
-protected:
//---------------------------------------------------------------------
// ALICE TPC response data
//---------------------------------------------------------------------
Int_t *fResponseBin; //!array with bins -calulated
Float_t *fResponseWeight; //!array with response -calulated
+private:
+ AliTPCParam(const AliTPCParam &);
+ AliTPCParam & operator=(const AliTPCParam &);
ClassDef(AliTPCParam,3) //parameter object for set:TPC
};
//-----------------------------------------------------------------------------
//----- Root headers ---------
+class TTree;
#include <TMatrixD.h>
//---- AliRoot headers -------
-//#include "alles.h"
-#include "AliRun.h"
-//#include "AliGausCorr.h"
-//#include "AliMagF.h"
+#include "AliConfig.h"
#include "AliTPCkineGrid.h"
#include "AliTPCtrack.h"
-//#include "AliTrackReference.h"
//----------------------------
class AliTPC;