#include <string.h>
#include "AliMultiplicity.h"
+#include "AliLog.h"
ClassImp(AliMultiplicity)
fDeltPhi(0),
fThsingle(0),
fPhisingle(0),
- fFastOrFiredChips(1200)
+ fFastOrFiredChips(1200),
+ fClusterFiredChips(1200)
{
// Default Constructor
fFiredChips[0] = 0;
fFiredChips[1] = 0;
+ for(Int_t ilayer = 0; ilayer < 6; ilayer++)fITSClusters[ilayer] = 0;
}
//______________________________________________________________________
-AliMultiplicity::AliMultiplicity(Int_t ntr, Float_t *th, Float_t *ph, Float_t *dth, Float_t *dph, Int_t *labels, Int_t* labelsL2, Int_t ns, Float_t *ts, Float_t *ps, Short_t nfcL1, Short_t nfcL2, TBits fFastOr):
+AliMultiplicity::AliMultiplicity(Int_t ntr, Float_t *th, Float_t *ph, Float_t *dth, Float_t *dph, Int_t *labels, Int_t* labelsL2, Int_t ns, Float_t *ts, Float_t *ps, Short_t nfcL1, Short_t nfcL2, const TBits & fFastOr):
TObject(),
fNtracks(ntr),
fNsingle(ns),
fDeltPhi(0),
fThsingle(0),
fPhisingle(0),
- fFastOrFiredChips(1200)
+ fFastOrFiredChips(1200),
+ fClusterFiredChips(1200)
{
// Standard constructor
if(ntr>0){
fFiredChips[0] = nfcL1;
fFiredChips[1] = nfcL2;
fFastOrFiredChips = fFastOr;
+ for(Int_t ilayer = 0; ilayer < 6; ilayer++)fITSClusters[ilayer] = 0;
}
//______________________________________________________________________
fDeltPhi(0),
fThsingle(0),
fPhisingle(0),
- fFastOrFiredChips(1200)
+ fFastOrFiredChips(1200),
+ fClusterFiredChips(1200)
{
// copy constructor
Duplicate(m);
fFiredChips[0] = m.fFiredChips[0];
fFiredChips[1] = m.fFiredChips[1];
+ for(Int_t ilayer = 0; ilayer < 6; ilayer++){
+ fITSClusters[ilayer] = m.fITSClusters[ilayer];
+ }
+
+
fFastOrFiredChips = m.fFastOrFiredChips;
+ fClusterFiredChips = m.fClusterFiredChips;
}
//______________________________________________________________________
if(fPhisingle)delete [] fPhisingle;fPhisingle = 0;
}
+
+//______________________________________________________________________
+void AliMultiplicity::SetLabel(Int_t i, Int_t layer, Int_t label)
+{
+ if(i>=0 && i<fNtracks) {
+ if (layer == 0) {
+ fLabels[i] = label;
+ return;
+ } else if (layer == 1) {
+ if (fLabelsL2) {
+ fLabelsL2[i] = label;
+ return;
+ }
+ }
+ }
+ Error("SetLabel","Invalid track number %d or layer %d",i,layer);
+}
+
+//______________________________________________________________________
+UInt_t AliMultiplicity::GetNumberOfITSClusters(Int_t layMin, Int_t layMax) const {
+
+ if(layMax < layMin) {
+ AliError("layer min > layer max");
+ return 0;
+ }
+ if(layMin < 0) {
+ AliError("layer min < 0");
+ return 0;
+ }
+ if(layMax < 0) {
+ AliError("layer max > 0");
+ return 0;
+ }
+
+ Int_t sum=0;
+ for (Int_t i=layMin; i<=layMax; i++) sum+=fITSClusters[i];
+ return sum;
+
+}