#ifndef ALIJETUNITARRAY_H #define ALIJETUNITARRAY_H /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * * * See cxx source for full Copyright notice */ /* $Id$ */ // Class description : Unit red as input by jet finder algorithm to store // the physical characteristics of a particle // // Author: magali.estienne@subatech.in2p3.fr // // Unit used by jet finder algorithm // // #include #include #include #include #include #include "AliJetFinderTypes.h" class AliJetUnitArray : public TObject { public: AliJetUnitArray(); AliJetUnitArray(Int_t absId, Int_t esdId, Float_t eta, Float_t phi, Float_t en, Float_t Deta, Float_t Dphi, AliJetFinderUnitDetectorFlagType_t det, AliJetFinderUnitFlagType_t inout, AliJetFinderUnitCutFlagType_t cut, AliJetFinderUnitCutFlagType_t cut2, AliJetFinderUnitSignalFlagType_t signal, Float_t mass, Int_t clusId); AliJetUnitArray(Int_t absId, Int_t esdId, Float_t eta, Float_t phi, Float_t en, Float_t px, Float_t py, Float_t pz, Float_t Deta, Float_t Dphi, AliJetFinderUnitDetectorFlagType_t det, AliJetFinderUnitFlagType_t inout, AliJetFinderUnitCutFlagType_t cut, Float_t mass, Int_t clusId); ~AliJetUnitArray(); // Setter void SetUnitEnergy(Float_t energy) {fUnitEnergy = energy;} void SetUnitEta(Float_t eta) {fUnitEta = eta;} void SetUnitPhi(Float_t phi) {fUnitPhi = phi;} void SetUnitPx(Float_t px) {fUnitPx = px;} void SetUnitPy(Float_t py) {fUnitPy = py;} void SetUnitPz(Float_t pz) {fUnitPz = pz;} void SetUnitDeta(Float_t deta) {fUnitDeta = deta;} void SetUnitDphi(Float_t dphi) {fUnitDphi = dphi;} void SetUnitID(Int_t id) {fUnitID = id;} void SetUnitTrackID(Int_t esdid) {fUnitTrackID = esdid;} void SetUnitEntries(Int_t num) {fUnitNum = num;} void SetUnitClusterID(Int_t id) {fUnitClusterID = id;} void SetUnitFlag(AliJetFinderUnitFlagType_t flag) { fUnitFlag = flag; } void SetUnitCutFlag(AliJetFinderUnitCutFlagType_t cutFlag) { fUnitCutFlag = cutFlag; } void SetUnitCutFlag2(AliJetFinderUnitCutFlagType_t cutFlag) { fUnitCutFlag2 = cutFlag; } void SetUnitSignalFlag(AliJetFinderUnitSignalFlagType_t signalFlag) { fUnitSignalFlag = signalFlag; } void SetUnitDetectorFlag(AliJetFinderUnitDetectorFlagType_t detectorflag) { fUnitDetectorFlag = detectorflag; } void SetUnitPxPyPz(Bool_t init, vector v3); void SetUnitEtN(Bool_t init, Float_t et); // Added for background studies void SetUnitSignalFlagC(Bool_t init, AliJetFinderUnitSignalFlagType_t flag); void SetUnitSignalFlagN(Bool_t init, AliJetFinderUnitSignalFlagType_t flag); void SetUnitMass(Float_t mass) {fUnitMass = mass;} // Getter Float_t GetUnitEnergy() const {return fUnitEnergy;} Float_t GetUnitEta() const {return fUnitEta;} Float_t GetUnitPhi() const {return fUnitPhi;} Float_t GetUnitPx() const {return fUnitPx;} Float_t GetUnitPy() const {return fUnitPy;} Float_t GetUnitPz() const {return fUnitPz;} Float_t GetUnitDeta() const {return fUnitDeta;} Float_t GetUnitDphi() const {return fUnitDphi;} Int_t GetUnitID() const {return fUnitID;} Int_t GetUnitTrackID() const {return fUnitTrackID;} Int_t GetUnitEntries() const {return fUnitNum;} Int_t GetUnitClusterID() const {return fUnitClusterID;} Float_t GetUnitMass() const {return fUnitMass;} Bool_t GetUnitPxPyPz(Int_t ind, Float_t &px, Float_t &py, Float_t &pz); Bool_t GetUnitPxPyPzE(Int_t ind, Float_t &px, Float_t &py, Float_t &pz, Float_t &en); Bool_t GetUnitEtN(Int_t ind, Float_t &et); // Added for background studies Bool_t GetUnitSignalFlagC(Int_t ind, AliJetFinderUnitSignalFlagType_t &flagc); Bool_t GetUnitSignalFlagN(Int_t ind, AliJetFinderUnitSignalFlagType_t &flagn); Int_t GetUnitVectorSize() {return fV.size();} Int_t GetUnitVectorSizeC() {return fVc.size();} Int_t GetUnitVectorSizeN() {return fVn.size();} Float_t EtaToTheta(Float_t arg) const; AliJetFinderUnitFlagType_t GetUnitFlag() const { return fUnitFlag; } AliJetFinderUnitCutFlagType_t GetUnitCutFlag() const { return fUnitCutFlag; } AliJetFinderUnitCutFlagType_t GetUnitCutFlag2() const { return fUnitCutFlag2; } AliJetFinderUnitSignalFlagType_t GetUnitSignalFlag() const { return fUnitSignalFlag; } AliJetFinderUnitDetectorFlagType_t GetUnitDetectorFlag() const { return fUnitDetectorFlag; } protected: Bool_t operator> ( AliJetUnitArray unit1) const; Bool_t operator< ( AliJetUnitArray unit1) const; Bool_t operator== ( AliJetUnitArray unit1) const; Float_t fUnitEnergy; // Energy (Pt,et) of the unit Float_t fUnitEta; // Eta of the unit Float_t fUnitPhi; // Phi of the unit Float_t fUnitDeta; // Delta Eta of the unit Float_t fUnitDphi; // Delta Phi of the unit Int_t fUnitID; // ID of the unit Int_t fUnitTrackID; // ID of a given charged track Int_t fUnitNum; // Number of units Int_t fUnitClusterID; // ID for clusters AliJetFinderUnitFlagType_t fUnitFlag; // Flag of the unit AliJetFinderUnitCutFlagType_t fUnitCutFlag; // Cut flag of the unit in the tpc AliJetFinderUnitCutFlagType_t fUnitCutFlag2; // Cut flag of the unit in the emcal AliJetFinderUnitSignalFlagType_t fUnitSignalFlag; // Signal flag of the unit AliJetFinderUnitDetectorFlagType_t fUnitDetectorFlag; // Detector flag of the unit Float_t fUnitPx; // Px of charged track Float_t fUnitPy; // Py of charged track Float_t fUnitPz; // Pz of charged track Float_t fUnitMass; // Mass of particle vector< vector< Float_t > > fV; //|| vector to store part information in each cell vector< AliJetFinderUnitSignalFlagType_t > fVc; //|| added for background studies vector< AliJetFinderUnitSignalFlagType_t > fVn; //|| added for background studies vector< Float_t > fVet; //|| added for background studies ClassDef(AliJetUnitArray,1) }; #endif